|
Boost : |
Subject: [boost] Boost.Fiber review January 6-15
From: Nat Goodspeed (nat_at_[hidden])
Date: 2014-01-06 08:07:04
Hi all,
The review of Boost.Fiber by Oliver Kowalke begins today, Monday January
6th, and closes Wednesday January 15th.
-----------------------------------------------------
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: http://olk.github.io/libs/fiber/doc/html/
git: https://github.com/olk/boost-fiber
src: http://ok73.ok.funpic.de/boost.fiber.zip
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
________________________________
Boost list run by bdawes at acm.org, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk