EV

 view release on metacpan or  search on metacpan

libev/ev_iouring.c  view on Meta::CPAN

 * general notes about linux io_uring:
 *
 * a) it's the best interface I have seen so far. on linux.
 * b) best is not necessarily very good.
 * c) it's better than the aio mess, doesn't suffer from the fork problems
 *    of linux aio or epoll and so on and so on. and you could do event stuff
 *    without any syscalls. what's not to like?
 * d) ok, it's vastly more complex, but that's ok, really.
 * e) why two mmaps instead of one? one would be more space-efficient,
 *    and I can't see what benefit two would have (other than being
 *    somehow resizable/relocatable, but that's apparently not possible).
 * f) hmm, it's practically undebuggable (gdb can't access the memory, and
 *    the bizarre way structure offsets are communicated makes it hard to
 *    just print the ring buffer heads, even *iff* the memory were visible
 *    in gdb. but then, that's also ok, really.
 * g) well, you cannot specify a timeout when waiting for events. no,
 *    seriously, the interface doesn't support a timeout. never seen _that_
 *    before. sure, you can use a timerfd, but that's another syscall
 *    you could have avoided. overall, this bizarre omission smells
 *    like a µ-optimisation by the io_uring author for his personal
 *    applications, to the detriment of everybody else who just wants



( run in 0.597 second using v1.01-cache-2.11-cpan-5511b514fd6 )