2 ms·
That's absolutely where much of the performance currently comes from, and I did in fact benchmark exactly that and it provides comparable performance (for now).
by JoshTriplett 4y ago
That's absolutely where much of the performance currently comes from, and I did in fact benchmark exactly that and it provides comparable performance (for now). I also noted in my talk that you can get much of the way there by doing clone with CLONE_VM and doing exec from there.
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.