
From: Bruce Adams <tortoise_74@yahoo.co.uk> Date: Tue, 6 Dec 2011 19:08:56 +0000 (GMT)
Hi, I am attempting to do a cost benefit analysis to justify adopting the subset of C++11 that is supported by gcc 4.7. As threads are one of the biggest features of c++11, I may be asked to justify just boost.thread vs gcc 4.7 + boost.thread.
You may also wish to consider using a higher level threading library on top of std::thread / boost::thread. We have been using Intel Threading Building Blocks (http://threadingbuildingblocks.org/) for a while now, and it seems to live very happily alongside Boost. TBB means that you don't have to roll your own thread pools, or adjust the parallelism each time your programme is run. It is also a very thin layer in terms of efficiency. The modern trend across many programming languages also seems to move away from using (manual) synchronisation primitives whenever possible (just as "raw" new and delete has become rare in c++ over the past 20 years). TBB allows complex pipelines to be supported quite naturally in terms of a data flow. My only reservation is that it requires dynamic linking, which is not always desirable or even possible. Finally, the extra level of abstraction in TBB probably means that the onus on supporting varying standards of c++ 11 conformance falls on Intel and not you or your company! Leo
participants (1)
-
Leo Goodstadt