Subject: Re: [boost] Cooperative Multi-Tasking
From: Giovanni Piero Deretta (gpderetta_at_[hidden])
Date: 2010-03-04 05:50:28
On Thu, Mar 4, 2010 at 9:20 AM, Mathias Gaunard
> Daniel Larimer wrote:
>> I am guessing that Boost.Asio would benefit from such a library. It seems
>> obvious to me now that coroutines / cooperative multi-tasking is the
>> superior approach to solving problems with a large number of actors and
>> "locks" where heavy weight preemptive scheduling would bog down the system.
> A significant advantage of not using coroutines or fibers with Asio is that
> you use as little memory per task as you need, while using a coroutine
> requires having a stack and other context data.
GCC supports (experimentally) split stacks
(http://gcc.gnu.org/wiki/SplitStacks ) to let a thread dynamically
grow and shrink its stack size (in principle with frame granularity).
BTW, that project has been implemented to support goroutines in go.
Boost list run by bdawes at acm.org, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk