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]

Cygwin 1.7.7 fork/exec performance MUCH slower than 1.5.25


Hello,

we have a Cygwin-based build system for an embedded project.
Build performance has deteriorated terribly since we upgraded to 1.7.x from 1.5.25.

I've created 3 shell-scripts to benchmark 1.5.25 and 1.7.7 against each other.
- null    : read file "inp" line by line, write to /dev/null.
- builtin : write each line to file "out", only bash-builtins used (no fork)
- fork    : do some substitution for each line with sed (huge number of forks)

Results:
- null    : 1.7.7 is about 5 times faster
- builtin : 1.7.7 is slightly faster
- fork    : 1.7.7 is 5 times SLOWER !!!

All measurements were made with the "time" command.
The attached results.txt lists the "real" times.

I've also attached the 3 shell-scripts (null, builtin, fork).
Input file "inp" is also attached.

Also see the cygcheck_xxx.out files for both Cygwin versions.

Some notes: 
both cygwin versions use the same /home, mounted from "D:\Documents and Settings",
so all user-level config-files are shared between the Cygwin versions.

Cygwin 1.7.7 is basically unusable at the moment.
Any ideas why it's so much slower at spawning processes? Or is it the pipes? Am I doing something wrong?

And more importantly: is there an easy way to fix this?

Thanks in advance for any help!

Best regards
Gergely SzabÃ

Attachment: results.txt
Description: results.txt

Attachment: cygcheck_1_5_25.out
Description: cygcheck_1_5_25.out

Attachment: cygcheck_1_7_7.out
Description: cygcheck_1_7_7.out

Attachment: fork
Description: fork

Attachment: inp
Description: inp

Attachment: null
Description: null

Attachment: builtin
Description: builtin

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

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