Subject: Cygwin Performance - especially on a network
From: [email-masked] (Kevin Hughes)

24 Mar 1998 17:49:43 -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 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
"[email-masked]" with one line of text: "help".