delorie.com/archives/browse.cgi   search  
Mail Archives: cygwin/2002/05/01/21:23:45

Mailing-List: contact cygwin-help AT cygwin DOT com; run by ezmlm
List-Subscribe: <mailto:cygwin-subscribe AT cygwin DOT com>
List-Archive: <http://sources.redhat.com/ml/cygwin/>
List-Post: <mailto:cygwin AT cygwin DOT com>
List-Help: <mailto:cygwin-help AT cygwin DOT com>, <http://sources.redhat.com/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
Message-ID: <20020502012325.56757.qmail@web20706.mail.yahoo.com>
Date: Wed, 1 May 2002 18:23:25 -0700 (PDT)
From: Earnie Boyd <earnie_boyd AT yahoo DOT com>
Subject: Re: FW: trying to understand poor performance of make + cygwin on W2K
To: Ken Faiczak <kfaiczak AT SANDVINE DOT com>, Randall R Schulz <rrschulz AT cris DOT com>
Cc: cygwin AT cygwin DOT com
MIME-Version: 1.0
Note-from-DJ: This may be spam

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 AT yahoo DOT 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/

- Raw text -


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