
Nikolai N Fetissov wrote:
Background: I am/was planning to profile the thread libraries from boost and ACE. During this experiment, I wish we had an interface class defined for threads. Also, I wish boost and ACE had implemented those interface classes. It would have helped someone like me profile different C++ libraries with ease.
I was going through the header files of boost and I don't see a interface classes being used. I am trying to understand was there a conscientious decision made to not define them. I am trying to understand the reason behind those decisions. It will help newbie's like me to understand C++ better and write better code.
Amit,
ACE and Boost are unrelated projects, and there's no universal thread "interface" to implement. This doesn't mean you can't design thin wrappers yourself for your experiment. Honest advise though - do not use ACE, even if you find it faster, which I very much doubt. Boost is a set of modern C++ libraries, pushing its way into standard C++, and developed by world experts; while ACE is dated, ugly, monolithic monster that forces you into wrong design choices.
<rant> Presumably, you: 1. Have your CV somewhere online, that lists some serious projects done with both ACE and Boost. 2. Have a blog post or article that specifically names the "wrong design choices" that ACE forces one into? If so, can you provide links to those? </rant> I *don't* have direct experience with ACE, so I'm not going to defend it here, and I also assume you have good reasons to criticise ACE, but your email does not communicate them well. Calling a established project a "ugly, monolithic monster" without good justification written down does not seem a constructive, or fair, thing. Especially given that Boost is fairly monolithic and fairly big, too. - Volodya