|
|
|
|
|
by nos4A2
1381 days ago
|
|
The comparison does not seem to be apples to apples. The perf gain seems to come from bundling the fork and exec call allowing the kernel to do vfork like optimizations. I think a fair comparison would be against a new sys call that does fork_exec vs io_uring_spawn, and not fork + exec vs io_uring_spawn. |
|
But also, the tricks to make it faster without using io_uring are much less safe than using io_uring. vfork is dangerous.
io_uring is the standard kernel mechanism for doing multiple operations in one syscall, so it seems like the most logical fit for this.
Jens Axboe (io_uring maintainer) and I have many more plans to make this faster.
Leaving that aside, there are many additional capabilities this unlocks. For instance, we can maintain a pool of processes set up and ready to exec.