Join GitHub today
GitHub is home to over 20 million developers working together to host and review code, manage projects, and build software together.
C
Shell
Cannot retrieve the latest commit at this time.
| Failed to load latest commit information. | |||
|
|
.gitignore | ||
|
|
Makefile | ||
|
|
README | ||
|
|
bench.sh | ||
|
|
cygspawn.c | ||
|
|
cygspawn.def | ||
|
|
cygspawn.h | ||
|
|
listvma.c | ||
|
|
testspawn.c | ||
README
cygwin project provides an efficient and POSIX-compliant "user-mode"
implementation of posix_spawn [1] for Cygwin. Using this facility
improves process-creation performance considerably, especially for
large processes:
~/cygspawn
$ sh bench.sh
+ env ITER=1000 ./testspawn true
real 0m4.508s
user 0m1.275s
sys 0m2.675s
+ env ITER=1000 ./testfork true
real 0m8.845s
user 0m2.847s
sys 0m5.230s
+ env ITER=1000 JUNKBYTES=209715200 ./testspawn true
real 0m5.179s
user 0m1.550s
sys 0m2.661s
+ env ITER=1000 JUNKBYTES=209715200 ./testfork true
real 1m57.523s
user 0m3.049s
sys 1m52.339s
All posix_spawn functionality is supported, and no special
configuration is required. This library must be dynamically linked
into any program using POSIX spawn.
To install:
make
make install prefix=/usr
To build programs with posix_spawn:
gcc -o foo foo.c -lcygspawn
[1] http://pubs.opengroup.org/onlinepubs/009695399/functions/posix_spawn.html