From: kh AT wg DOT icl DOT co DOT uk (Kevin Hughes) Subject: Cygwin Performance - especially on a network 24 Mar 1998 17:49:43 -0800 Message-ID: <01BD53EB.38178F50.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 primarily on network connected disks. This topic (performance) 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 hangs around to let loading complete and then opens a file identified as a parameter, fstats it and then closes it. More than 1 file can be specified on the input. The program reports the time taken to complete the actions - using the rdtsc counter. This is the results I get running from NT command shell, running the program twice to the same files local remote Microsoft 229226 969880 226628 1058648 cygwin 1298950 3367980 1071340 3664081 All times are in "clock ticks" from rdtsc (233Mhz hence, 4.3ns per tick) Clearly microsoft wins hands down over cygwin, 5* better for local and 3* better for remote. An interesting point is that microsoft is 4* worse for remote than local, cygin is only 3* (starting from behind) When you look at number of accesses we get a similar picture local remote microsoft 5 7 cygwin 32 25 BUT why does cygwin do more accesses to a local file? [I have run these programs from the NT command prompt to eliminate any bash forking problems] I hope this is of interest/use. Kevin The raw info is here in the following format sequence time stamp process action path result extra info For each file there are TWO acceses to the file - in an attempt to eliminate any initialisation problems Microsoft - remote 44 2147968219 mtime.exe IRP_MJ_CREATE N:\aas05\novadata\devel\kh\mtime.c SUCCESS Attributes:0080 Options:01000060 45 2148002871 mtime.exe IRP_MJ_QUERY_VOLUME_INFORMATION N:\aas05\novadat a\devel\kh\mtime.c SUCCESS FileFsDeviceInformation 46 2148030149 mtime.exe IRP_MJ_QUERY_VOLUME_INFORMATION N:\aas05\novadat a\devel\kh\mtime.c SUCCESS FileFsDeviceInformation 47 2148158439 mtime.exe IRP_MJ_QUERY_VOLUME_INFORMATION N:\aas05\novadat a\devel\kh\mtime.c SUCCESS FileFsVolumeInformation 48 2148396673 mtime.exe IRP_MJ_QUERY_INFORMATION N:\aas05\novadata\devel \kh\mtime.c BUFFER OVERFLOW FileAllInformation 50 2148773269 mtime.exe IRP_MJ_CLEANUP N:\aas05\novadata\devel\kh\mtime. c SUCCESS 51 2148867271 mtime.exe IRP_MJ_CLOSE N:\aas05\novadata\devel\kh\mtime.c SUCCESS 52 2149344283 mtime.exe IRP_MJ_CREATE N:\aas05\novadata\devel\kh\mtime.c SUCCESS Attributes:0080 Options:01000060 53 2149376518 mtime.exe IRP_MJ_QUERY_VOLUME_INFORMATION N:\aas05\novadat a\devel\kh\mtime.c SUCCESS FileFsDeviceInformation 54 2149395050 mtime.exe IRP_MJ_QUERY_VOLUME_INFORMATION N:\aas05\novadat a\devel\kh\mtime.c SUCCESS FileFsDeviceInformation 55 2149509675 mtime.exe IRP_MJ_QUERY_VOLUME_INFORMATION N:\aas05\novadat a\devel\kh\mtime.c SUCCESS FileFsVolumeInformation 56 2149718411 mtime.exe IRP_MJ_QUERY_INFORMATION N:\aas05\novadata\devel \kh\mtime.c BUFFER OVERFLOW FileAllInformation 57 2149752261 mtime.exe IRP_MJ_CLEANUP N:\aas05\novadata\devel\kh\mtime. c SUCCESS 58 2149843293 mtime.exe IRP_MJ_CLOSE N:\aas05\novadata\devel\kh\mtime.c SUCCESS Microsoft - Local 59 2150057721 mtime.exe IRP_MJ_CREATE C:\msdos.sys SUCCESS Attributes:0080 Options:01000060 60 2150090117 mtime.exe IRP_MJ_QUERY_VOLUME_INFORMATION C:\msdos.sys SUC CESS FileFsVolumeInformation 61 2150111592 mtime.exe IRP_MJ_QUERY_INFORMATION C:\msdos.sys BUFFER OVERFLOW FileAllInformation 62 2150139947 mtime.exe IRP_MJ_CLEANUP C:\msdos.sys SUCCESS 63 2150155667 mtime.exe IRP_MJ_CLOSE C:\msdos.sys SUCCESS 64 2150347279 mtime.exe IRP_MJ_CREATE C:\msdos.sys SUCCESS Attributes:0080 Options:01000060 65 2150378302 mtime.exe IRP_MJ_QUERY_VOLUME_INFORMATION C:\msdos.sys SUC CESS FileFsVolumeInformation 66 2150397019 mtime.exe IRP_MJ_QUERY_INFORMATION C:\msdos.sys BUFFER OVERFLOW FileAllInformation 67 2150421965 mtime.exe IRP_MJ_CLEANUP C:\msdos.sys SUCCESS 68 2150436143 mtime.exe IRP_MJ_CLOSE C:\msdos.sys SUCCESS CYGWIN - REMOTE 190 2147641281 a.exe IRP_MJ_CREATE N:\aas05\novadata\devel\kh\mtime.c SU CCESS Attributes:0000 Options:01000000 191 2147908209 a.exe FASTIO_QUERY_BASIC_INFO N:\aas05\novadata\devel\kh\ mtime.c SUCCESS Attributes:0020 192 2147926338 a.exe IRP_MJ_CLEANUP N:\aas05\novadata\devel\kh\mtime.c S UCCESS 193 2147943522 a.exe IRP_MJ_CLOSE N:\aas05\novadata\devel\kh\mtime.c SUC CESS 194 2148507507 a.exe IRP_MJ_CREATE N:\aas05\novadata\devel\kh\mtime.c SU CCESS Attributes:0080 Options:01000060 195 2148651891 a.exe IRP_MJ_QUERY_VOLUME_INFORMATION N:\aas05\novadata\d evel\kh\mtime.c SUCCESS FileFsVolumeInformation 196 2148877677 a.exe IRP_MJ_QUERY_INFORMATION N:\aas05\novadata\devel\kh \mtime.c BUFFER OVERFLOW FileAllInformation 197 2149290037 a.exe IRP_MJ_CREATE N:\aas05\novadata\devel\kh\mtime.c SU CCESS Attributes:0000 Options:01000000 198 2149423091 a.exe IRP_MJ_QUERY_SECURITY N:\aas05\novadata\devel\kh\mt ime.c SUCCESS 199 2149449719 a.exe IRP_MJ_CLEANUP N:\aas05\novadata\devel\kh\mtime.c S UCCESS 200 2149560897 a.exe IRP_MJ_CLOSE N:\aas05\novadata\devel\kh\mtime.c SUC CESS 201 2149754869 a.exe IRP_MJ_CREATE N:\aas05\novadata\devel\kh\mtime.c SU CCESS Attributes:0000 Options:01000000 202 2149877367 a.exe IRP_MJ_QUERY_SECURITY N:\aas05\novadata\devel\kh\mt ime.c SUCCESS 203 2149902269 a.exe IRP_MJ_CLEANUP N:\aas05\novadata\devel\kh\mtime.c S UCCESS 204 2150010259 a.exe IRP_MJ_CLOSE N:\aas05\novadata\devel\kh\mtime.c SUC CESS 205 2150206875 a.exe IRP_MJ_CREATE N:\aas05\novadata\devel\kh\mtime.c SU CCESS Attributes:0000 Options:01000020 206 2150236418 a.exe FASTIO_QUERY_STANDARD_INFO N:\aas05\novadata\devel\ kh\mtime.c SUCCESS Size: 1107 207 2150247883 a.exe FASTIO_QUERY_STANDARD_INFO N:\aas05\novadata\devel\ kh\mtime.c SUCCESS Size: 1107 208 2150423629 a.exe IRP_MJ_QUERY_EA N:\aas05\novadata\devel\kh\mtime.c * 0xC0000052 209 2150551983 a.exe IRP_MJ_QUERY_INFORMATION N:\aas05\novadata\devel\kh \mtime.c SUCCESS FileStreamInformation 210 2150579901 a.exe IRP_MJ_CLEANUP N:\aas05\novadata\devel\kh\mtime.c S UCCESS 211 2150687487 a.exe IRP_MJ_CLOSE N:\aas05\novadata\devel\kh\mtime.c SUC CESS 212 2150710501 a.exe IRP_MJ_QUERY_VOLUME_INFORMATION N:\aas05\novadata\d evel\kh\mtime.c SUCCESS FileFsDeviceInformation 213 2150739998 a.exe IRP_MJ_CLEANUP N:\aas05\novadata\devel\kh\mtime.c S UCCESS 214 2150840519 a.exe IRP_MJ_CLOSE N:\aas05\novadata\devel\kh\mtime.c SUC CESS 215 2151169979 a.exe IRP_MJ_CREATE N:\aas05\novadata\devel\kh\mtime.c SU CCESS Attributes:0000 Options:01000000 216 2151305059 a.exe FASTIO_QUERY_BASIC_INFO N:\aas05\novadata\devel\kh\ mtime.c SUCCESS Attributes:0020 217 2151319614 a.exe IRP_MJ_CLEANUP N:\aas05\novadata\devel\kh\mtime.c S UCCESS 218 2151334915 a.exe IRP_MJ_CLOSE N:\aas05\novadata\devel\kh\mtime.c SUC CESS 219 2151764849 a.exe IRP_MJ_CREATE N:\aas05\novadata\devel\kh\mtime.c SU CCESS Attributes:0080 Options:01000060 220 2151912315 a.exe IRP_MJ_QUERY_VOLUME_INFORMATION N:\aas05\novadata\d evel\kh\mtime.c SUCCESS FileFsVolumeInformation 221 2152229739 a.exe IRP_MJ_QUERY_INFORMATION N:\aas05\novadata\devel\kh \mtime.c BUFFER OVERFLOW FileAllInformation 222 2152623835 a.exe IRP_MJ_CREATE N:\aas05\novadata\devel\kh\mtime.c SU CCESS Attributes:0000 Options:01000000 223 2152805865 a.exe IRP_MJ_QUERY_SECURITY N:\aas05\novadata\devel\kh\mt ime.c SUCCESS 224 2152832795 a.exe IRP_MJ_CLEANUP N:\aas05\novadata\devel\kh\mtime.c S UCCESS 225 2152971619 a.exe IRP_MJ_CLOSE N:\aas05\novadata\devel\kh\mtime.c SUC CESS 226 2153169271 a.exe IRP_MJ_CREATE N:\aas05\novadata\devel\kh\mtime.c SU CCESS Attributes:0000 Options:01000000 227 2153348409 a.exe IRP_MJ_QUERY_SECURITY N:\aas05\novadata\devel\kh\mt ime.c SUCCESS 228 2153373876 a.exe IRP_MJ_CLEANUP N:\aas05\novadata\devel\kh\mtime.c S UCCESS 229 2153523219 a.exe IRP_MJ_CLOSE N:\aas05\novadata\devel\kh\mtime.c SUC CESS 230 2153814770 a.exe IRP_MJ_CREATE N:\aas05\novadata\devel\kh\mtime.c SU CCESS Attributes:0000 Options:01000020 231 2153843578 a.exe FASTIO_QUERY_STANDARD_INFO N:\aas05\novadata\devel\ kh\mtime.c SUCCESS Size: 1107 232 2153855021 a.exe FASTIO_QUERY_STANDARD_INFO N:\aas05\novadata\devel\ kh\mtime.c SUCCESS Size: 1107 233 2154068675 a.exe IRP_MJ_QUERY_EA N:\aas05\novadata\devel\kh\mtime.c * 0xC0000052 234 2154216009 a.exe IRP_MJ_QUERY_INFORMATION N:\aas05\novadata\devel\kh \mtime.c SUCCESS FileStreamInformation 235 2154243475 a.exe IRP_MJ_CLEANUP N:\aas05\novadata\devel\kh\mtime.c S UCCESS 236 2154405637 a.exe IRP_MJ_CLOSE N:\aas05\novadata\devel\kh\mtime.c SUC CESS 237 2154434611 a.exe IRP_MJ_QUERY_VOLUME_INFORMATION N:\aas05\novadata\d evel\kh\mtime.c SUCCESS FileFsDeviceInformation 238 2154464955 a.exe IRP_MJ_CLEANUP N:\aas05\novadata\devel\kh\mtime.c S UCCESS 239 2154645624 a.exe IRP_MJ_CLOSE N:\aas05\novadata\devel\kh\mtime.c SUC CESS CYGWIN - LOCAL 240 2154899541 a.exe FASTIO_QUERY_OPEN C:\msdos.sys SUCCESS 241 2154956272 a.exe IRP_MJ_CREATE C:\msdos.sys SUCCESS Attributes:0000 Options:01000020 242 2154979400 a.exe FASTIO_QUERY_STANDARD_INFO C:\msdos.sys SUCCESS Size: 0 243 2154988439 a.exe FASTIO_QUERY_STANDARD_INFO C:\msdos.sys SUCCESS Size: 0 244 2155009625 a.exe IRP_MJ_QUERY_EA C:\msdos.sys * 0xC0000052 245 2155034765 a.exe IRP_MJ_QUERY_INFORMATION C:\msdos.sys SUCCESS FileS treamInformation 246 2155058651 a.exe IRP_MJ_CLEANUP C:\msdos.sys SUCCESS 247 2155073478 a.exe IRP_MJ_CLOSE C:\msdos.sys SUCCESS 248 2155225861 a.exe IRP_MJ_CREATE C:\msdos.sys SUCCESS Attributes:0080 Options:01000060 249 2155259322 a.exe IRP_MJ_READ C:\msdos.sys END OF FILE Offset: 0 Length: 10 250 2155278177 a.exe IRP_MJ_CLEANUP C:\msdos.sys SUCCESS 251 2155292101 a.exe IRP_MJ_CLOSE C:\msdos.sys SUCCESS 252 2155594737 a.exe IRP_MJ_CREATE C:\msdos.sys SUCCESS Attributes:0080 Options:01000060 253 2155632137 a.exe IRP_MJ_QUERY_VOLUME_INFORMATION C:\msdos.sys SUCCES S FileFsVolumeInformation 254 2155652014 a.exe IRP_MJ_QUERY_INFORMATION C:\msdos.sys BUFFER OVERFLOW FileAllInformation 255 2155707597 a.exe IRP_MJ_CREATE C:\msdos.sys SUCCESS Attributes:0000 Options:01000000 256 2155730823 a.exe IRP_MJ_QUERY_SECURITY C:\msdos.sys SUCCESS 257 2155751011 a.exe IRP_MJ_CLEANUP C:\msdos.sys SUCCESS 258 2155765169 a.exe IRP_MJ_CLOSE C:\msdos.sys SUCCESS 259 2155811935 a.exe IRP_MJ_CREATE C:\msdos.sys SUCCESS Attributes:0000 Options:01000000 260 2155832531 a.exe IRP_MJ_QUERY_SECURITY C:\msdos.sys SUCCESS 261 2155852015 a.exe IRP_MJ_CLEANUP C:\msdos.sys SUCCESS 262 2155865835 a.exe IRP_MJ_CLOSE C:\msdos.sys SUCCESS 263 2155914637 a.exe IRP_MJ_CREATE C:\msdos.sys SUCCESS Attributes:0000 Options:01000020 264 2155935854 a.exe FASTIO_QUERY_STANDARD_INFO C:\msdos.sys SUCCESS Size: 0 265 2155944749 a.exe FASTIO_QUERY_STANDARD_INFO C:\msdos.sys SUCCESS Size: 0 266 2155964723 a.exe IRP_MJ_QUERY_EA C:\msdos.sys * 0xC0000052 267 2155987475 a.exe IRP_MJ_QUERY_INFORMATION C:\msdos.sys SUCCESS FileS treamInformation 268 2156008737 a.exe IRP_MJ_CLEANUP C:\msdos.sys SUCCESS 269 2156022770 a.exe IRP_MJ_CLOSE C:\msdos.sys SUCCESS 270 2156045157 a.exe IRP_MJ_CLEANUP C:\msdos.sys SUCCESS 271 2156058579 a.exe IRP_MJ_CLOSE C:\msdos.sys SUCCESS 272 2156237980 a.exe FASTIO_QUERY_OPEN C:\msdos.sys SUCCESS 273 2156286951 a.exe IRP_MJ_CREATE C:\msdos.sys SUCCESS Attributes:0000 Options:01000020 274 2156308194 a.exe FASTIO_QUERY_STANDARD_INFO C:\msdos.sys SUCCESS Size: 0 275 2156317061 a.exe FASTIO_QUERY_STANDARD_INFO C:\msdos.sys SUCCESS Size: 0 276 2156336619 a.exe IRP_MJ_QUERY_EA C:\msdos.sys * 0xC0000052 277 2156358823 a.exe IRP_MJ_QUERY_INFORMATION C:\msdos.sys SUCCESS FileS treamInformation 278 2156380297 a.exe IRP_MJ_CLEANUP C:\msdos.sys SUCCESS 279 2156394095 a.exe IRP_MJ_CLOSE C:\msdos.sys SUCCESS 280 2156563192 a.exe IRP_MJ_CREATE C:\msdos.sys SUCCESS Attributes:0080 Options:01000060 281 2156593543 a.exe IRP_MJ_READ C:\msdos.sys END OF FILE Offset: 0 Length: 10 282 2156612505 a.exe IRP_MJ_CLEANUP C:\msdos.sys SUCCESS 283 2156626370 a.exe IRP_MJ_CLOSE C:\msdos.sys SUCCESS 284 2156782151 a.exe IRP_MJ_CREATE C:\msdos.sys SUCCESS Attributes:0080 Options:01000060 285 2156817139 a.exe IRP_MJ_QUERY_VOLUME_INFORMATION C:\msdos.sys SUCCES S FileFsVolumeInformation 286 2156835742 a.exe IRP_MJ_QUERY_INFORMATION C:\msdos.sys BUFFER OVERFLOW FileAllInformation 287 2156887487 a.exe IRP_MJ_CREATE C:\msdos.sys SUCCESS Attributes:0000 Options:01000000 288 2156909439 a.exe IRP_MJ_QUERY_SECURITY C:\msdos.sys SUCCESS 289 2156929209 a.exe IRP_MJ_CLEANUP C:\msdos.sys SUCCESS 290 2156943077 a.exe IRP_MJ_CLOSE C:\msdos.sys SUCCESS 291 2156989681 a.exe IRP_MJ_CREATE C:\msdos.sys SUCCESS Attributes:0000 Options:01000000 292 2157010219 a.exe IRP_MJ_QUERY_SECURITY C:\msdos.sys SUCCESS 293 2157029745 a.exe IRP_MJ_CLEANUP C:\msdos.sys SUCCESS 294 2157043573 a.exe IRP_MJ_CLOSE C:\msdos.sys SUCCESS 295 2157092035 a.exe IRP_MJ_CREATE C:\msdos.sys SUCCESS Attributes:0000 Options:01000020 296 2157113346 a.exe FASTIO_QUERY_STANDARD_INFO C:\msdos.sys SUCCESS Size: 0 297 2157122303 a.exe FASTIO_QUERY_STANDARD_INFO C:\msdos.sys SUCCESS Size: 0 298 2157141603 a.exe IRP_MJ_QUERY_EA C:\msdos.sys * 0xC0000052 299 2157164189 a.exe IRP_MJ_QUERY_INFORMATION C:\msdos.sys SUCCESS FileS treamInformation 300 2157185263 a.exe IRP_MJ_CLEANUP C:\msdos.sys SUCCESS 301 2157199306 a.exe IRP_MJ_CLOSE C:\msdos.sys SUCCESS 302 2157221071 a.exe IRP_MJ_CLEANUP C:\msdos.sys SUCCESS 303 2157234525 a.exe IRP_MJ_CLOSE C:\msdos.sys 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".