From: kh AT wg DOT icl DOT co DOT uk (Kevin Hughes) Subject: Cygwin performance 19 Mar 1998 22:26:13 -0800 Message-ID: <01BD5253.40DD9AB0.kh.cygnus.gnu-win32@wg.icl.co.uk> Reply-To: "kh AT wg DOT icl DOT co DOT uk" To: "Gnuwin95 (E-mail)" 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 "gnu-win32-request AT cygnus DOT com" with one line of text: "help".