Slow shell script execution on Cygwin

Robert Ögren lists@roboros.com
Thu Apr 14 23:01:00 GMT 2005


Hi everybody,

[cc:ing libtool as I started a thread about Libtool execution speed there]

One thing that has annoyed me for a while is that large/complex shell 
scripts with a lot of forking, like configure scripts or Libtool, run 
quite slowly on Cygwin. I know that you have to do a lot of trickery to 
implement fork() on Windows, and it is amazing that Cygwin works so 
well, but it would still be interesting to know if there is something 
that can be done to speed things up.

I know that "slow" doesn't really mean anything, so here are some numbers:

Running the configure script for glib-2.6.3 (from ftp.gtk.org) takes 
around 170 seconds on Cygwin on my machine, with antivirus software 
disabled. Running glib's configure on the same machine booted into 
GNU/Linux takes around 17 seconds.

The comparison isn't completely fair since the machine has an Athlon 64 
processor and the Linux setup is 64-bit and all software is optimized 
for that architecture, while Cygwin is run on plain old 32-bit Windows 
XP Pro SP2. Still, I don't think that should affect the numbers so 
dramatically.

I have seen some other people complain about the same thing, and scripts 
ran slowly on another machine I had before, so I don't think my setup is 
that broken. But I'll attach the cygcheck output.

My questions for you:
1. Do these numbers seem reasonable?
2. Is there anything (apart from cross-compiling on Linux :) ) that can 
be done to increase script execution speed?

For the Libtool case I've actually thrown together an experimental 
caching solution but, as Ralf Wildenhues has pointed out, Libtool's 
stdout messages aren't currently meant to be read by machines, so it 
isn't perfect. See for example:
http://lists.gnu.org/archive/html/libtool/2005-03/msg00066.html
http://lists.gnu.org/archive/html/libtool/2005-03/msg00140.html

I know I should have asked on the Cygwin list much earlier, and I 
apologize for that.

Thanks
Robert
-------------- next part --------------
An embedded and charset-unspecified text was scrubbed...
Name: cygcheck.txt
URL: <http://cygwin.com/pipermail/cygwin/attachments/20050414/ad104dd8/attachment.txt>
-------------- next part --------------
--
Unsubscribe info:      http://cygwin.com/ml/#unsubscribe-simple
Problem reports:       http://cygwin.com/problems.html
Documentation:         http://cygwin.com/docs.html
FAQ:                   http://cygwin.com/faq/


More information about the Cygwin mailing list