Subject: Cygwin performance
From: [email-masked] (Kevin Hughes)

19 Mar 1998 22:26:13 -0800
Message-ID: <[email-masked]>
Reply-To: "[email-masked]" <[email-masked]>
To: "Gnuwin95 (E-mail)" <[email-masked]>

I have been very interested in the performance of the cygin toolset 
specifically the apparent slowness of the system. This topic has ocupied a 
great deal of the list bandwidth from time to time. I have now managed to 
get some measures for a  program compiled under cygwin and msvc++ accessing 
local and remote drives. The program is trivial, it opens a file identified 
as aparameters, fstats it and then closes it. The raw info is attached

The interesting thing is the VAST number of file accesses which cygwin does 
when compared to ms, its worse on the networked drive than on the local 
drive. Equally why does the cygwin program access its own dll? (I dont 
think it did this on b18) why is it in the WRONG directory (see coments on 
data below)?
The bottom line is that the program times differ enormously with cygwin 
being seriously behind

			ms		cygwin
	local		100		23
	remote 		47		5714

Where times are in MILLISECS.

I am running on a 300Mhz PII have a standard b19 directory structure but 
the tool set is remotely mounted (n:\cygwin....), C: is mounted c /c.

I hope this information is of use to people looking at the performance, I 
would much appreciate any response

Kevin

The program used to collect this information is derived from ntfilmon at 
the ntinternals site ( I just hacked in the timestamp)

The format of the data is as follows:

sequence no.	time stamp	process		action	file path		result code	other info 
[my comments]

Raw data
Access to local drive

ms soft compiled
11 754909479 mtime.exe IRP_MJ_QUERY_VOLUME_INFORMATION C:\time.bat SUCCESS 
FileFsVolumeInformation
12 754940248 mtime.exe IRP_MJ_QUERY_INFORMATION C:\time.bat BUFFER OVERFLOW 
FileAllInformation
13 755662739 mtime.exe IRP_MJ_CLEANUP C:\time.bat SUCCESS
14 755688995 mtime.exe IRP_MJ_CLOSE C:\time.bat SUCCESS

cygwin compiled
29 641428765 a.exe FASTIO_QUERY_OPEN C:\WINNT\System32\cygwinb19.dll 
SUCCESS 	 [file does NOT exists]
30 641497917 a.exe IRP_MJ_CLEANUP C: DASD SUCCESS
31 641571605 System IRP_MJ_CLOSE C: DASD SUCCESS
32 641569726 a.exe FASTIO_QUERY_OPEN C:\WINNT\System32\cygwinb19.dll 
SUCCESS  	[ditto]
33 641706103 a.exe FASTIO_QUERY_OPEN C:\WINNT\System32\cygwinb19.dll 
SUCCESS  	[ditto]
34 646958932 a.exe FASTIO_QUERY_OPEN C:\time.bat SUCCESS  				[target file]
35 647486968 a.exe IRP_MJ_CREATE C:\time.bat SUCCESS Attributes:0080 
Options:01000060
36 647544289 a.exe IRP_MJ_QUERY_VOLUME_INFORMATION C:\time.bat SUCCESS 
FileFsVolumeInformation
37 647581084 a.exe IRP_MJ_QUERY_INFORMATION C:\time.bat BUFFER OVERFLOW 
FileAllInformation
38 647714817 a.exe IRP_MJ_CREATE C:\time.bat SUCCESS Attributes:0000 
Options:01000000
39 647749341 a.exe IRP_MJ_QUERY_SECURITY C:\time.bat SUCCESS
40 647783168 a.exe IRP_MJ_CLEANUP C:\time.bat SUCCESS
41 647806956 a.exe IRP_MJ_CLOSE C:\time.bat SUCCESS
42 647877876 a.exe IRP_MJ_CREATE C:\time.bat SUCCESS Attributes:0000 
Options:01000000
43 647905803 a.exe IRP_MJ_QUERY_SECURITY C:\time.bat SUCCESS
44 647931649 a.exe IRP_MJ_CLEANUP C:\time.bat SUCCESS
45 647974338 a.exe IRP_MJ_CLOSE C:\time.bat SUCCESS
46 648050068 a.exe IRP_MJ_CREATE C:\time.bat SUCCESS Attributes:0000 
Options:01000020
47 648098843 a.exe FASTIO_QUERY_STANDARD_INFO C:\time.bat SUCCESS Size: 78
48 648111597 a.exe FASTIO_QUERY_STANDARD_INFO C:\time.bat SUCCESS Size: 78
49 648166494 a.exe IRP_MJ_QUERY_EA C:\time.bat * 0xC0000052
50 648202167 a.exe IRP_MJ_QUERY_INFORMATION C:\time.bat SUCCESS 
FileStreamInformation
51 648232779 a.exe IRP_MJ_CLEANUP C:\time.bat SUCCESS
52 648253023 a.exe IRP_MJ_CLOSE C:\time.bat SUCCESS
53 648289085 a.exe IRP_MJ_CLEANUP C:\time.bat SUCCESS
54 648309384 a.exe IRP_MJ_CLOSE C:\time.bat SUCCESS

Remote drive

ms compiled
32 1763217518 mtime.exe IRP_MJ_FILE_SYSTEM_CONTROL N:\aas05\kh INVALID 
PARAMETER IoControl: 0x90028
33 1763387753 mtime.exe IRP_MJ_FILE_SYSTEM_CONTROL N:\aas05\kh INVALID 
PARAMETER IoControl: 0x90028
34 1763425117 mtime.exe IRP_MJ_QUERY_VOLUME_INFORMATION N:\aas05\kh SUCCESS 
FileFsDeviceInformation
35 1763765874 mtime.exe IRP_MJ_READ N:\aas05\kh\mtime.exe SUCCESS Offset: 
92160 Length: 2560 	[why read yourself?
36 1766138731 mtime.exe IRP_MJ_READ N:\aas05\kh\mtime.exe SUCCESS Offset: 
1024 Length: 32768   [security info?]
37 1766967861 mtime.exe IRP_MJ_READ N:\aas05\kh\mtime.exe SUCCESS Offset: 
76288 Length: 15872
38 1773215947 mtime.exe IRP_MJ_READ N:\aas05\kh\mtime.exe SUCCESS Offset: 
33792 Length: 32768
39 1775967061 mtime.exe IRP_MJ_CREATE N:\aas05\kh\mtime.c SUCCESS 
Attributes:0080 Options:01000060 [target file]
40 1776030238 mtime.exe IRP_MJ_QUERY_VOLUME_INFORMATION N:\aas05\kh\mtime.c 
SUCCESS FileFsDeviceInformation
41 1776068004 mtime.exe IRP_MJ_QUERY_VOLUME_INFORMATION N:\aas05\kh\mtime.c 
SUCCESS FileFsDeviceInformation
42 1776318865 mtime.exe IRP_MJ_QUERY_VOLUME_INFORMATION N:\aas05\kh\mtime.c 
SUCCESS FileFsVolumeInformation
43 1776666881 mtime.exe IRP_MJ_QUERY_INFORMATION N:\aas05\kh\mtime.c BUFFER 
OVERFLOW FileAllInformation
44 1777122055 mtime.exe IRP_MJ_READ N:\aas05\kh\mtime.exe SUCCESS Offset: 
70656 Length: 5632
45 1777405798 mtime.exe IRP_MJ_CLEANUP N:\aas05\kh\mtime.c SUCCESS

cygwin compiled
56 1891113021 a.exe IRP_MJ_FILE_SYSTEM_CONTROL N:\aas05\kh INVALID 
PARAMETER IoControl: 0x90028
57 1891272108 a.exe IRP_MJ_FILE_SYSTEM_CONTROL N:\aas05\kh INVALID 
PARAMETER IoControl: 0x90028
58 1891310457 a.exe IRP_MJ_QUERY_VOLUME_INFORMATION N:\aas05\kh SUCCESS 
FileFsDeviceInformation
59 1891523674 a.exe IRP_MJ_READ N:\aas05\kh\a.exe SUCCESS Offset: 3072 
Length: 512
60 1891682794 a.exe IRP_MJ_CREATE N:\aas05\kh\cygwinb19.dll SUCCESS 
Attributes:0000 Options:01000000 [dll is NOT here]
61 1891874793 a.exe FASTIO_QUERY_BASIC_INFO N:\aas05\kh\cygwinb19.dll 
SUCCESS Attributes:0000 	[?]
62 1891899387 a.exe IRP_MJ_CLEANUP N:\aas05\kh\cygwinb19.dll SUCCESS
63 1891925221 a.exe IRP_MJ_CLOSE N:\aas05\kh\cygwinb19.dll SUCCESS
64 1891998358 a.exe IRP_MJ_CREATE N:\aas05\kh\cygwinb19.dll SUCCESS 
Attributes:0000 Options:01000000
65 1892014666 a.exe FASTIO_QUERY_BASIC_INFO N:\aas05\kh\cygwinb19.dll 
SUCCESS Attributes:0000
66 1892033598 a.exe IRP_MJ_CLEANUP N:\aas05\kh\cygwinb19.dll SUCCESS
67 1892055593 a.exe IRP_MJ_CLOSE N:\aas05\kh\cygwinb19.dll SUCCESS
68 1892479851 a.exe IRP_MJ_CREATE 
N:\aas05\novadata\cygwin\b19.1\H-i386-cygwin32\bin\cygwinb19.dll SUCCESS 
 Attributes:0000 Options:01000000 [the real home of cygwin.dll]
69 1892767962 a.exe FASTIO_QUERY_BASIC_INFO 
N:\aas05\novadata\cygwin\b19.1\H-i386-cygwin32\bin\cygwinb19.dll SUCCESS 
Attributes:0080
70 1892808208 a.exe IRP_MJ_CLEANUP 
N:\aas05\novadata\cygwin\b19.1\H-i386-cygwin32\bin\cygwinb19.dll SUCCESS
71 1892835607 a.exe IRP_MJ_CLOSE 
N:\aas05\novadata\cygwin\b19.1\H-i386-cygwin32\bin\cygwinb19.dll SUCCESS
72 1893485463 a.exe IRP_MJ_CREATE 
N:\aas05\novadata\cygwin\b19.1\H-i386-cygwin32\bin\cygwinb19.dll SUCCESS 
Attributes:0000 Options:01000060
73 1893544070 a.exe IRP_MJ_CLEANUP 
N:\aas05\novadata\cygwin\b19.1\H-i386-cygwin32\bin\cygwinb19.dll SUCCESS
74 1893707067 a.exe IRP_MJ_CLOSE 
N:\aas05\novadata\cygwin\b19.1\H-i386-cygwin32\bin\cygwinb19.dll SUCCESS
75 1896574871 a.exe IRP_MJ_READ N:\aas05\kh\a.exe SUCCESS Offset: 1024 
Length: 1024 [read yourself?]
76 1896790198 a.exe IRP_MJ_READ N:\aas05\kh\a.exe SUCCESS Offset: 2048 
Length: 512
77 1898043144 a.exe IRP_MJ_CREATE N:\aas05\kh\mtime.c SUCCESS 
Attributes:0000 Options:01000000 [at last the file]
78 1899044083 a.exe FASTIO_QUERY_BASIC_INFO N:\aas05\kh\mtime.c SUCCESS 
Attributes:0080
79 1899082690 a.exe IRP_MJ_CLEANUP N:\aas05\kh\mtime.c SUCCESS
80 1899120243 a.exe IRP_MJ_CLOSE N:\aas05\kh\mtime.c SUCCESS
81 1899971470 a.exe IRP_MJ_CREATE N:\aas05\kh\mtime.c SUCCESS 
Attributes:0080 Options:01000060
82 1900202230 a.exe IRP_MJ_QUERY_VOLUME_INFORMATION N:\aas05\kh\mtime.c 
SUCCESS FileFsVolumeInformation
83 1900628670 a.exe IRP_MJ_QUERY_INFORMATION N:\aas05\kh\mtime.c BUFFER 
OVERFLOW FileAllInformation
84 1901206402 a.exe IRP_MJ_CREATE N:\aas05\kh\mtime.c SUCCESS 
Attributes:0000 Options:01000000
85 1901401236 a.exe IRP_MJ_QUERY_SECURITY N:\aas05\kh\mtime.c SUCCESS
86 1901439869 a.exe IRP_MJ_CLEANUP N:\aas05\kh\mtime.c SUCCESS
87 1901604840 a.exe IRP_MJ_CLOSE N:\aas05\kh\mtime.c SUCCESS
88 1901959596 a.exe IRP_MJ_CREATE N:\aas05\kh\mtime.c SUCCESS 
Attributes:0000 Options:01000000
89 1902147876 a.exe IRP_MJ_QUERY_SECURITY N:\aas05\kh\mtime.c SUCCESS
90 1902180200 a.exe IRP_MJ_CLEANUP N:\aas05\kh\mtime.c SUCCESS
91 1902338584 a.exe IRP_MJ_CLOSE N:\aas05\kh\mtime.c SUCCESS
92 1902602886 a.exe IRP_MJ_CREATE N:\aas05\kh\mtime.c SUCCESS 
Attributes:0000 Options:01000020
93 1902647944 a.exe FASTIO_QUERY_STANDARD_INFO N:\aas05\kh\mtime.c SUCCESS 
Size: 478
94 1902661323 a.exe FASTIO_QUERY_STANDARD_INFO N:\aas05\kh\mtime.c SUCCESS 
Size: 478
95 1902930486 a.exe IRP_MJ_QUERY_EA N:\aas05\kh\mtime.c * 0xC0000052
96 1903141830 a.exe IRP_MJ_QUERY_INFORMATION N:\aas05\kh\mtime.c SUCCESS 
FileStreamInformation
97 1903176132 a.exe IRP_MJ_CLEANUP N:\aas05\kh\mtime.c SUCCESS
98 1903334367 a.exe IRP_MJ_CLOSE N:\aas05\kh\mtime.c SUCCESS
99 1903362348 a.exe IRP_MJ_QUERY_VOLUME_INFORMATION N:\aas05\kh\mtime.c 
SUCCESS FileFsDeviceInformation
100 1903402917 a.exe IRP_MJ_CLEANUP N:\aas05\kh\mtime.c SUCCESS
101 1903551433 a.exe IRP_MJ_CLOSE N:\aas05\kh\mtime.c SUCCESS  

-
For help on using this list (especially unsubscribing), send a message to
"[email-masked]" with one line of text: "help".