Hi all,
I've just launched the beta version of online examples for the "Boost
Application Development Cookbook":
http://apolukhin.github.io/Boost-Cookbook-4880OS/
There you can do online compilation of Boost related code, run examples,
freely experiment with code from the book, read intros for the code and
play around with the Boost libraries.
I hope the site would be useful!
P.S.: If you wish to report an error or wish to have some functionality
added to the site, use the "Issues" link at
https://github.com/apolukhin/Boost-Cookbook-4880OS or even make a pull
request.
P.P.S.: Intros for Chapters 7-12 are missing at this moment. I'll add them
in a few months, sorry for the delay.
--
Best regards,
Antony Polukhin
Hi all,
The mini-review of Boost.Fiber by Oliver Kowalke begins today, Friday
September 4th, and closes Sunday September 13th. It was reviewed in
January 2014; the verdict at that time was "not in its present form."
Since then Oliver has substantially improved documentation,
performance, library customization and the underlying implementation,
and is bringing the library back for mini-review.
The substance of the library API remains the same, which is why a
mini-review is appropriate.
The Fiber library now requires a C++14-conforming compiler.
I will monitor reviews and discussion on both the boost-users@ list
and the boost@ developers' list. Please include at least "fiber" and
"review" in your mail subject, e.g. by replying to this message.
(Please reply to only ONE list, however.)
Thank you for your interest and your feedback!
-----------------------------------------------------
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 execution_context
from Boost.Context; the classes in this library manage, schedule and,
when needed, synchronize those contexts. 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/index.html
git: https://github.com/olk/boost-fiber
---------------------------------------------------
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
________________________________