...er I believe the calls to waitpid are interacting badly with the message passing that goes on between schedulers and causing us to have very little parallelism in the test suite. I don't fully understand the sequence of events that causes the problem here but clearly blocking on waitpid is something that a well-behaved task should not be doing. Unfortunately this adds quite a bit of overhead to each test: one thread, two tasks, three stacks, so there's a tradeoff. The time to execute run-pass on my 4-core machine goes from ~750s to ~300s. This should have a pretty good impact on cycle times. cc @toddaaro |
||
|---|---|---|
| .. | ||
| common.rs | ||
| compiletest.rs | ||
| errors.rs | ||
| header.rs | ||
| procsrv.rs | ||
| runtest.rs | ||
| util.rs | ||