Hacker News new | ask | show | jobs
by ciconia 1132 days ago
No, Polyphony has a design that diverges from the model proposed by the FibeScheduler API. Note that the FiberScheduler API included with Ruby is only an interface, not an implementation. Polyphony uses io_uring on recent Linux kernels, or libev otherwise to perform I/O operations and implement timeouts.
1 comments

does it use anything specific on darwin and/or freebsd or does it fall back to libev?
On non-Linux systems it just uses libev to for I/O readiness and for timers, and uses normal syscalls for the actual I/O.
alright! any plans to use kqueue directly?
No. libev provides a nice abstraction over different operating systems, and has good performance. I don't think coding a whole new backend against kqueue is worth the effort.