* FW: trying to understand poor performance of make + cygwin on W2K
@ 2002-05-01 5:34 Ken Faiczak
2002-05-01 12:00 ` Randall R Schulz
0 siblings, 1 reply; 4+ messages in thread
From: Ken Faiczak @ 2002-05-01 5:34 UTC (permalink / raw)
To: 'cygwin@cygwin.com'
I'm trying gain some performance for our build process (cygwin on win2k)
and have compared it to the same make on linux
If I completely build our tree (about
then rerun the make from the top it takes 9.5 seconds on linux
if I do the same test on the same machine running
(machine P3-500 512MB)
win2k +cygwin 1.3.9 +make (3.79.1)
it takes 3.5 minutes
so 210 seconds versus 9 seconds.
all its doing is recursing down the tree, testing the dependancies
and determining it has nothing to do, so its not compiling anything
its all make +cygwin, I think (ie no gcc invoked anywhere)
any ideas on what to try?
is this an issue with the cygwin fork() implementation??
is this as good as it gets
ken
--
Unsubscribe info: http://cygwin.com/ml/#unsubscribe-simple
Bug reporting: http://cygwin.com/bugs.html
Documentation: http://cygwin.com/docs.html
FAQ: http://cygwin.com/faq/
^ permalink raw reply [flat|nested] 4+ messages in thread
* Re: FW: trying to understand poor performance of make + cygwin on W2K
2002-05-01 5:34 FW: trying to understand poor performance of make + cygwin on W2K Ken Faiczak
@ 2002-05-01 12:00 ` Randall R Schulz
0 siblings, 0 replies; 4+ messages in thread
From: Randall R Schulz @ 2002-05-01 12:00 UTC (permalink / raw)
To: Ken Faiczak, cygwin
Ken,
What is the relative CPU usage as derived from the output of running your
make under the "time" command?
I'm guessing it's very low (assuming that there are no other interfering
processes competing for system resources).
If so, it suggests that the make command is triggering a significant number
of file sharing probes that go unanswered and hence must time out before
the process that caused them can continue.
Typically, this happens when string manipulation in make yields path names
that begin with a double slash, the indicator of a UNC name under Windows
(but just a plain old absolute path name under Unix)
--
Randall Schulz
Mountain View, CA USA
At 05:34 2002-05-01, Ken Faiczak wrote:
>I'm trying gain some performance for our build process (cygwin on win2k)
>and have compared it to the same make on linux
>
>If I completely build our tree (about then rerun the make from the top it
>takes 9.5 seconds on linux
>
>if I do the same test on the same machine running (machine P3-500 512MB)
>win2k +cygwin 1.3.9 +make (3.79.1) it takes 3.5 minutes
>
>so 210 seconds versus 9 seconds. all its doing is recursing down the tree,
>testing the dependancies and determining it has nothing to do, so its not
>compiling anything its all make +cygwin, I think (ie no gcc invoked anywhere)
>
>any ideas on what to try? is this an issue with the cygwin fork()
>implementation?? is this as good as it gets
>
>ken
--
Unsubscribe info: http://cygwin.com/ml/#unsubscribe-simple
Bug reporting: http://cygwin.com/bugs.html
Documentation: http://cygwin.com/docs.html
FAQ: http://cygwin.com/faq/
^ permalink raw reply [flat|nested] 4+ messages in thread
* Re: FW: trying to understand poor performance of make + cygwin on W2K
@ 2002-05-01 18:23 Earnie Boyd
0 siblings, 0 replies; 4+ messages in thread
From: Earnie Boyd @ 2002-05-01 18:23 UTC (permalink / raw)
To: Ken Faiczak, Randall R Schulz; +Cc: cygwin
This is a good topic. It's been a while since it was discussed on this list.
For a real understanding of what's going on you should get the Cygwin code and
execute your test under strace. It'll open your eyes to what happens to make
the POSIX pathing work.
There are a number of things that you can do to improve the performance, but,
since this is an emulation layer on top of the OS it'll never be Linux
performance. One of the things you can do is to minimize the PATH list. Make
it as small as possible. Note that you only need /bin as /usr/bin points to
the same path. Make sure that /bin is first in the PATH list.
Another item of interest is a trick that was added by Chris Faylor a few years
ago. It's not highly known and is rarely used but it is listed in the
documentation. This trick involves marking the /bin and /usr/bin mount poinst
as Cygwin dependant executables only. This means that if you have an
executable that doesn't depend on Cygwin that you have to put it elsewhere. If
you do have a non-Cygwin executable in the /bin directory it will not execute
and will give you errors. This will however bypass the conversion code
necessary for passing the environment to a win32 process. If you wish to take
advantage of this take a look at the mount switch -X; --cygwin-executable.
The next envolves the win32 environment itself. Processes that are executing
that have registered threads to be notified of file system changes could slow
down the execution because they require system time. You may want to try your
tests with such processes executing and not executing to see the variance. One
such program is the antivirus software. There's probably some other things
that you can do with the system, I don't know what those are but a good
resource for the workings of Win32 is www.sysinternals.com.
HTH,
Earnie.
=====
Earnie Boyd
mailto:earnie_boyd@yahoo.com
--- <http://earniesystems.safeshopper.com> ---
--- Cygwin: POSIX on Windows <http://gw32.freeyellow.com/> ---
--- Minimalist GNU for Windows <http://www.mingw.org/> ---
__________________________________________________
Do You Yahoo!?
Yahoo! Health - your guide to health and wellness
http://health.yahoo.com
--
Unsubscribe info: http://cygwin.com/ml/#unsubscribe-simple
Bug reporting: http://cygwin.com/bugs.html
Documentation: http://cygwin.com/docs.html
FAQ: http://cygwin.com/faq/
^ permalink raw reply [flat|nested] 4+ messages in thread
* Re: FW: trying to understand poor performance of make + cygwin on W2K
@ 2002-05-01 10:37 tprince
0 siblings, 0 replies; 4+ messages in thread
From: tprince @ 2002-05-01 10:37 UTC (permalink / raw)
To: Ken Faiczak, 'cygwin@cygwin.com'
>
> I'm trying gain some performance for our build process (cygwin on win2k)
> and have compared it to the same make on linux
>
> If I completely build our tree (about
> then rerun the make from the top it takes 9.5 seconds on linux
>
> if I do the same test on the same machine running
> (machine P3-500 512MB)
> win2k +cygwin 1.3.9 +make (3.79.1)
> it takes 3.5 minutes
>
> so 210 seconds versus 9 seconds.
> all its doing is recursing down the tree, testing the dependancies
> and determining it has nothing to do, so its not compiling anything
> its all make +cygwin, I think (ie no gcc invoked anywhere)
>
> any ideas on what to try?
> is this an issue with the cygwin fork() implementation??
> is this as good as it gets
>
> ken
>
Normally, make runs at least 30% of full speed under cygwin. Are you running
with cygwin installed on a local drive, first on the search path, with your
local drives ahead of network
drives?
---------------------------------------------
This message was sent using Endymion MailMan.
http://www.endymion.com/products/mailman/
--
Unsubscribe info: http://cygwin.com/ml/#unsubscribe-simple
Bug reporting: http://cygwin.com/bugs.html
Documentation: http://cygwin.com/docs.html
FAQ: http://cygwin.com/faq/
^ permalink raw reply [flat|nested] 4+ messages in thread
end of thread, other threads:[~2002-05-02 1:23 UTC | newest]
Thread overview: 4+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2002-05-01 5:34 FW: trying to understand poor performance of make + cygwin on W2K Ken Faiczak
2002-05-01 12:00 ` Randall R Schulz
2002-05-01 10:37 tprince
2002-05-01 18:23 Earnie Boyd
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).