10 Sep
2015
10 Sep
'15
4:02 a.m.
2015-09-10 5:35 GMT+02:00 Oliver Kowalke
the scheduler with its idle() function would introduce extra context switches because idle() enqueues the scheduler to the ready_next-queue before it switches to the next fiber. seams that the scheduler (fiber) is resumed after each (worker)-fiber. boost.fiber tries to prevent this - it switches only between (worker)-fibers, the scheduler functions only like a store for the next fiebrs.
the scheduler from boost.fiber has a similar 'idle()' function - if a fiber has to suspsend (yield,wait,...) it directly calls this scheduler function (without a context switch).