This is the mail archive of the cygwin mailing list for the Cygwin project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: Slow shell script execution on Cygwin


Brian Dessent wrote:
My questions for you:
1. Do these numbers seem reasonable?

Yes, unfortunately. Heavy fork()-exec() based scripts just take forever.

Ok.


2. Is there anything (apart from cross-compiling on Linux :) ) that can
be done to increase script execution speed?

You can try mounting your /usr/bin as cygexec. The manpage for mount has some information. From my understanding, the way this works is that when a Cygwin process goes to execute a binary, it checks the mount table. If that binary is mounted on a path that is marked "cygexec" it assumes that it is a Cygwin binary and skips a bit of the normal song-and-dance, because it knows that it can just communicate directly with the child process via the Cygwin shared memory area after the process has started. I'm not entirely sure of how much of a speedup can be expected, or whether it's significant or not, but it's worth testing.

Thank you for the suggestion. I tried it, and it reduced the time for a full make of glib by about 2 seconds, but increased the configure time by 2 seconds on average. Interesting...


Thanks for the reply,
Robert

--
Unsubscribe info:      http://cygwin.com/ml/#unsubscribe-simple
Problem reports:       http://cygwin.com/problems.html
Documentation:         http://cygwin.com/docs.html
FAQ:                   http://cygwin.com/faq/


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]