3 ms·
Does this use the Fiber Scheduler API to figure out which fibers are blocking? If so, why does this need libev - I'm guessing it's to do with performance?
by lukegru 3y ago
Does this use the Fiber Scheduler API to figure out which fibers are blocking? If so, why does this need libev - I'm guessing it's to do with performance?
- rubiquity 3y agoFiber::Scheduler is only an interface. You still need an IO multiplexer underneath it.
- Alifatisk 3y agoThis is not what I don’t understand with the Ruby Team, why did they not ship Fiber Scheduler with an implementation and just an interface? Dis they expect everyone to implement the scheduler om their own? I am aware of the existing fiber scheduler implementations you can get on Ruby Gems but there should be official implementation.
- ciconia 3y agoNo, 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.