4 ms·
Can you give some examples? When batching data, you benefit from picking something like io_uring. But for two-way communication, you still need to notify either
by 0d0a 3y ago
Can you give some examples? When batching data, you benefit from picking something like io_uring. But for two-way communication, you still need to notify either side when data is ready (maybe you don't want to consume cpu just polling), and it isn't clear to me how those options handle that synchronization faster than pipes.
- _trackno5 3y agoThe main thing io_uring gives you is avoiding multiple syscalls. With a pipe you can’t really avoid that. With a shared memory queue/ring buffer you can write to the memory without any syscalls. But you need to build synchronisation yourself (e.g., using semaphores for example). You don’t necessarily need to poll.