Update benchmarks
Closed this issue ยท 2 comments
cb908eb introduced a 3.75x
time regression on my system; the benchmark results are now misleading ๐.
I'll be working on an option to disable the platform shell as soon as I finish compiling electron and atom on Gentoo. Then I'll provide more benchmarks to cover grouped, ungrouped, shell, and shell-less. You should get a performance boost by using --ungrouped
at the cost of not having the output's buffered in order. It would seem that sending the already-interpreted arguments to the platform's shell causes a decent amount of overhead, to enable features of that shell, like multiple commands. In the long term, I'd like to interpret commands in parallel without requiring the platform shell.
Ah, all right then. I will close this issue.
An unrelated optimization: using threads is not necessary on Unix systems, because after a group of fork/exec
calls, a wait
can be issused followed by another fork/exec
and so on. But this is more awkward in Rust and won't work on Windows. The Windows alternative is to use WaitForMultipleObjects
, at least with reasonable concurrency values (because of API limitations).