#195 closed defect (fixed)
libc: spawning is very slow
Reported by: | bird | Owned by: | bird |
---|---|---|---|
Priority: | normal | Milestone: | libc-0.6.4 |
Component: | libc-backend | Version: | 0.6.1 |
Severity: | critical | Keywords: | __spawnve performance |
Cc: |
Description
There is a performance regression in the __spawnve
implementation, it's simply ending up waiting way to long for the child to get out of the embryo state.
Change History (5)
comment:1 by , 17 years ago
comment:3 by , 17 years ago
Resolution: | → fixed |
---|---|
Status: | new → closed |
comment:4 by , 17 years ago
The spawn performance with 0.6.3 and earlier was less than 10% (8-9% for libc children, and 1-2% for the assembly stub program). I'm now getting 110-115% with libc children and 60-70% with the assembly stub (libc07).
comment:5 by , 17 years ago
Rewrote the fix in [3643] so that we don't do an active wait/poll, but let the child wake us up. The performance is mostly unchanged, the 110% from the previous comment was perhaps a bit of a lucky run. The more realistic one is in the 90+% range. Testing the wget configure script, it now runs ~20% faster without a cache, while using a configure.cache file the speedup is even higher (~30%).
(In [3634]) Fixed serious performance bug. References #195.