4 ms·
Does FreeBSD have anything like io_uring?
by jorangreef 7y ago
Does FreeBSD have anything like io_uring?
- Const-me 7y agoAs far as I know, it does not have similar functionality. But I’m not sure it needs one. It has kqueue, and unlike epoll, kqueue is a general-purpose way to get events from kernel. It’s compatible not just with sockets, but also files and pipes, directory changes, processes, signals, timers, devices, and more. Not unlike IOCP on Windows. On paper new uring is faster, but kqueue is not particularly slow either. And it’s available for couple decades now, i.e. it’s stable and tested really well. I’m happy Linux finally getting fast general purpose async IO, but I’ll only benefit from it after a year or so, after kernel updates are out, and after higher-level runtimes like golang and .net core are updated accordingly.
- machinecoffee 7y agoThere's also libkqueue for Linux - I would imagine they will also adopt io_uring when it's stable and ubiquitous enough, bringing the two APIs closer together. I find kqueue to be a great and well designed API, so that can only be a good thing IMHO.