Mailing-List: contact cygwin-help AT cygwin DOT com; run by ezmlm List-Subscribe: List-Archive: List-Post: List-Help: , 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 Subject: Re: FW: trying to understand poor performance of make + cygwin on W2K To: Ken Faiczak , Randall R Schulz Cc: cygwin AT cygwin DOT com MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii 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 --- --- --- Cygwin: POSIX on Windows --- --- Minimalist GNU for Windows --- __________________________________________________ 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/