Boost logo

Boost :

Subject: Re: [boost] Boost.Fiber review January 6-15
From: Hartmut Kaiser (hartmut.kaiser_at_[hidden])
Date: 2014-01-15 21:22:26

> The review of Boost.Fiber by Oliver Kowalke begins today, Monday January
> 6th, and closes Wednesday January 15th.

For the sake of completeness, I vote to REJECT the library for acceptance
into Boost in its current form. For my reasoning please see the lengthy
discussion in the email thread '[Fibers] Performance'.

Regards Hartmut

> -----------------------------------------------------
> About the library:
> Boost.Fiber provides a framework for micro-/userland-threads (fibers)
> scheduled cooperatively. The API contains classes and functions to manage
> and synchronize fibers similar to Boost.Thread. Each fiber has its own
> stack.
> A fiber can save the current execution state, including all registers and
> CPU flags, the instruction pointer, and the stack pointer and later
> restore this state. The idea is to have multiple execution paths running
> on a single thread using a sort of cooperative scheduling (versus threads,
> which are preemptively scheduled). The running fiber decides explicitly
> when it should yield to allow another fiber to run (context switching).
> Boost.Fiber internally uses coroutines from Boost.Coroutine; the classes
> in this library manage, schedule and, when needed, synchronize those
> coroutines. A context switch between threads usually costs thousands of
> CPU cycles on x86, compared to a fiber switch with a few hundred cycles. A
> fiber can only run on a single thread at any point in time.
> docs:
> git:
> src:
> The documentation has been moved to another site; see the link above.
> If you have already downloaded the source, please refresh it; Oliver has
> added some new material.
> ---------------------------------------------------
> Please always state in your review whether you think the library should be
> accepted as a Boost library!
> Additionally please consider giving feedback on the following general
> topics:
> - What is your evaluation of the design?
> - What is your evaluation of the implementation?
> - What is your evaluation of the documentation?
> - What is your evaluation of the potential usefulness of the library?
> - Did you try to use the library? With what compiler? Did you have any
> problems?
> - How much effort did you put into your evaluation? A glance? A quick
> reading? In-depth study?
> - Are you knowledgeable about the problem domain?
> Nat Goodspeed
> Boost.Fiber Review Manager
> ________________________________
> _______________________________________________
> Unsubscribe & other changes:

Boost list run by bdawes at, gregod at, cpdaniel at, john at