This is the mail archive of the
cygwin
mailing list for the Cygwin project.
Re: Slow/sluggish response ("system" task at 50%)
Larry Hall (Cygwin) wrote:
> Interesting. I'm not sure why using Cygwin's 'make' would slow things
> down dramatically when running from a Cygwin terminal or shell. I can
Note that cygwin's make is just plain slower that mingw's make to begin
with. I'm not quite sure I can explain the ~25 times speed difference
that Gene experiences but I can definitely vouch for at least a ~7 times
speed difference (which I think it primarily due to forking).
Here's a speed test taken from an old thread on the cygwin mailing list.
I did this test just right now with virtually no CPU usage on the same
machine (WinXP SP2 x64, Intel Core i7 2.66 GHz):
(MINGW)
$ uname -a
MINGW32_NT-5.2 SEOUL 1.0.11(0.46/3/2) 2009-05-23 19:33 i686 Msys
$ time -p for ((i=1; i<100; i++)); do var=$(echo $i | tr [a-z] [A-Z]); done
real 1.51
user 0.58
sys 0.82
(CYGWIN 1.7)
$ uname -a
CYGWIN_NT-5.2-WOW64 seoul 1.7.0(0.210/5/3) 2009-06-18 12:51 i686 Cygwin
$ time -p for ((i=1; i<100; i++)); do var=$(echo $i | tr [a-z] [A-Z]); done
real 10.45
user 0.76
sys 1.53
Regards,
-Edward
Larry Hall (Cygwin) wrote:
Gene Smith wrote:
<snip>
Going back to beta-1.7 default install that ran fast I noticed that it
was actually using a mingw32 version of "make" from winavr project and
not the cygwin "make". The default cygwin install does not include
make. When I load the cygwin make package and the build uses it (since
cygwin puts its paths ahead of windows path) the build slows way down.
If I remove make from cygwin's /bin it speeds back up (since using the
mingw32 make).
The build referred to above uses a toolchain built for mingw32, not
cygwin's gcc. So as long as make is also built for mingw32 the build
is fast when run from cygwin terminal or dos window. With make being
the cygwin version, the build is slow in all cases.
What does this mean? Am I doing something illegal mixing cygwin and
mingw programs?
Interesting. I'm not sure why using Cygwin's 'make' would slow things
down dramatically when running from a Cygwin terminal or shell. I can
see there being some overhead if that's the only Cygwin process you're
running, since there would be a Cygwin initialization cost to start 'make'
if there were no other Cygwin processes running at the time. I very much
doubt that this would account for the dramatic slow-down you've reported.
So while certainly there's an issue here, it seems like the work-around
you've found is viable. And it does make more sense than mixing and
matching Cygwin and Mingw.
Are you able to reproduce this problem for any kind of package? It
might be helpful to know that building package or tarball 'foo'
demonstrates
the problem.
--
Problem reports: http://cygwin.com/problems.html
FAQ: http://cygwin.com/faq/
Documentation: http://cygwin.com/docs.html
Unsubscribe info: http://cygwin.com/ml/#unsubscribe-simple