|
Boost : |
Subject: Re: [boost] [context/coroutine] split into two libs in trunk?!
From: Jeffrey Lee Hellrung, Jr. (jeffrey.hellrung_at_[hidden])
Date: 2012-04-13 13:03:20
On Fri, Apr 13, 2012 at 9:05 AM, Mathias Gaunard <
mathias.gaunard_at_[hidden]> wrote:
> On 13/04/12 17:53, Jeffrey Lee Hellrung, Jr. wrote:
>
>> On Fri, Apr 13, 2012 at 5:28 AM, Mathias Gaunard<
>> mathias.gaunard_at_[hidden]> wrote:
>>
>> On 12/04/12 08:37, Jeffrey Lee Hellrung, Jr. wrote:
>>>
>>> Suggestions for such a single heading, if we go that route: Fiber?
>>>
>>>> Cooperative?
>>>>
>>>>
>>> Boost.Context can be used to implement preemptive (i.e. not cooperative)
>>> multithreading.
>>>
>>>
>> Is that feasible in practice? (Serious question; I'm not sure.)
>>
>
> A lot of libraries implement user-level threading. Fast context switching
> is the most sensitive component.
>
> AFAIK the HPX library, done by several people associated to Boost, uses
> code derived from the old Boost.Coroutine for context switching.
>
> Bryce Lelbach told me they didn't move to Boost.Context because it was
> slow and had significant scalability problems. I had asked him to give his
> experience during the Boost.Context review, but it seems he never did.
>
Perhaps, then, it would be more appropriate for there to be a Boost.Context
library and separate Boost.Cooperative library, the latter of which would
include Coroutine, Generator, Stratified, etc....?
Or is there another umbrella term appropriate for all of these components?
E.g., Multitask, or something?
- Jeff
Boost list run by bdawes at acm.org, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk