X-Recipient: archive-cygwin@delorie.com
X-SWARE-Spam-Status: No, hits=-1.2 required=5.0 	tests=AWL,BAYES_00,RCVD_IN_DNSWL_LOW,RCVD_NUMERIC_HELO,SPF_HELO_PASS,SPF_PASS
X-Spam-Check-By: sourceware.org
To: cygwin@cygwin.com
From: Gene Smith <gds@chartertn.net>
Subject:  Re: Slow/sluggish response ("system" task at 50%)
Date:  Wed, 24 Jun 2009 19:43:42 -0400
Lines: 55
Message-ID: <h1udnd$pu7$1@ger.gmane.org>
References:  <h1ofen$qvu$1@ger.gmane.org> <4A3FCCBD.70101@cygwin.com> <h1ok6h$b50$1@ger.gmane.org> <h1p35n$rtc$1@ger.gmane.org> <4A401CF4.6050202@cygwin.com> <h1plfn$16o$1@ger.gmane.org> <4A405B7D.7020700@cygwin.com> <h1r1dv$4g4$1@ger.gmane.org> <4A411665.1040300@cygwin.com> <h1rnnl$a3j$1@ger.gmane.org> <4A4167A4.4090900@gmail.com> <h1tcpr$g4o$1@ger.gmane.org> <h1tv52$fu5$1@ger.gmane.org> <4A428460.4000402@cygwin.com>
Mime-Version:  1.0
Content-Type:  text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding:  7bit
User-Agent: Thunderbird 2.0.0.6 (Windows/20070728)
In-Reply-To: <4A428460.4000402@cygwin.com>
X-IsSubscribed: yes
Mailing-List: contact cygwin-help@cygwin.com; run by ezmlm
Precedence: bulk
List-Id: <cygwin.cygwin.com>
List-Unsubscribe: <mailto:cygwin-unsubscribe-archive-cygwin=delorie.com@cygwin.com>
List-Subscribe: <mailto:cygwin-subscribe@cygwin.com>
List-Archive: <http://sourceware.org/ml/cygwin/>
List-Post: <mailto:cygwin@cygwin.com>
List-Help: <mailto:cygwin-help@cygwin.com>, <http://sourceware.org/ml/#faqs>
Sender: cygwin-owner@cygwin.com
Mail-Followup-To: cygwin@cygwin.com
Delivered-To: mailing list cygwin@cygwin.com

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.
> 
Larry,
Currently I have 3 embedded projects buildable with cygwin. 2 of them 
are slow with cygwin make and ok with a mingw make (winavr's or 
codesourcery's cs-make). However, with the 3rd project I see no 
difference in speed between "cs-make clean all" and "make clean all"! 
This project has no recursive make calls, $(MAKE).

But on the other two that have a speed difference, if I try to run 
cygwin make twice in a row, "make clean ; make", I see the error
.dep/main.0.d:1 *** multiple target patterns. Stop.

I have to rm .dep/* to fix it. (These are generated dependency files.)

I think I may have seen a reference to this as a known problem with 
cygwin's make but don't know if it is related to speed issue in any way. 
Just thought I would point this out.

Also, I might point out that the two projects with speed difference, one 
has recursive makes while the other does not.


--
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

