delorie.com/archives/browse.cgi   search  
Mail Archives: cygwin/2009/06/24/16:23:09

X-Recipient: archive-cygwin AT delorie DOT com
X-SWARE-Spam-Status: No, hits=-1.7 required=5.0 tests=AWL,BAYES_00,SPF_PASS
X-Spam-Check-By: sourceware.org
Message-ID: <4A428B01.5010903@sidefx.com>
Date: Wed, 24 Jun 2009 16:22:25 -0400
From: Edward Lam <edward AT sidefx DOT com>
User-Agent: Thunderbird 2.0.0.22 (Windows/20090605)
MIME-Version: 1.0
To: cygwin AT cygwin DOT com
Subject: Re: Slow/sluggish response ("system" task at 50%)
References: <h1ofen$qvu$1 AT ger DOT gmane DOT org> <4A3FCCBD DOT 70101 AT cygwin DOT com> <h1ok6h$b50$1 AT ger DOT gmane DOT org> <h1p35n$rtc$1 AT ger DOT gmane DOT org> <4A401CF4 DOT 6050202 AT cygwin DOT com> <h1plfn$16o$1 AT ger DOT gmane DOT org> <4A405B7D DOT 7020700 AT cygwin DOT com> <h1r1dv$4g4$1 AT ger DOT gmane DOT org> <4A411665 DOT 1040300 AT cygwin DOT com> <h1rnnl$a3j$1 AT ger DOT gmane DOT org> <4A4167A4 DOT 4090900 AT gmail DOT com> <h1tcpr$g4o$1 AT ger DOT gmane DOT org> <h1tv52$fu5$1 AT ger DOT gmane DOT org> <4A428460 DOT 4000402 AT cygwin DOT com>
In-Reply-To: <4A428460.4000402@cygwin.com>
X-IsSubscribed: yes
Mailing-List: contact cygwin-help AT cygwin DOT com; run by ezmlm
List-Id: <cygwin.cygwin.com>
List-Subscribe: <mailto:cygwin-subscribe AT cygwin DOT com>
List-Archive: <http://sourceware.org/ml/cygwin/>
List-Post: <mailto:cygwin AT cygwin DOT com>
List-Help: <mailto:cygwin-help AT cygwin DOT com>, <http://sourceware.org/ml/#faqs>
Sender: cygwin-owner AT cygwin DOT com
Mail-Followup-To: cygwin AT cygwin DOT com
Delivered-To: mailing list cygwin AT cygwin DOT com

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

- Raw text -


  webmaster     delorie software   privacy  
  Copyright © 2019   by DJ Delorie     Updated Jul 2019