On Fri, Sep 4, 2015 at 4:14 PM, Nat Goodspeed
Hi all,
The mini-review of Boost.Fiber by Oliver Kowalke begins today,
I did a quick skim of the docs and the implementation. I have to say
that both the docs and the code are quite readable and I can't see
anything controversial.
So, just to get the discussion started, here are a couple of comments:
On the library itself:
- Boost.Fiber is yet another library that comes with its own future
type. For the sake of interoperability, the author should really
contribute changes to boost.thread so that its futures can be re-used.
- In theory Boost.Thread any_condition should be usable out of the box.
This probably should lead to a boost wide discussion. There are a few
boost (or proposed) libraries abstract hardware and OS capabilities,
for example boost.thread, boost.asio, boost.filesystem,
boost.iostream, boost.interproces (which also comes with its own
mutexes and condition variables) and of course the proposed afio and
fiber. At the moment they mostly live in separated, isolated worlds.
It would be nice if the authors were to sit down and work out a shared
design. Or more practically at least added some cross library
interoperability facilities. This is C++, generalization should be
possible, easy and cheap.
On condition variables, should Boost.Fiber add the ability to wait to
any number of them? (you can use a future<> as an event with multi
wait capability of course, but still...).
On performance:
- The wait list for boost::fiber::mutex is a deque