On 16 Feb 2014 at 13:04, Daniel James wrote:
On 15 February 2014 21:11, gast128
wrote: my experience with Visual Studio where the Dinkumware implementation almost always outperforms or is similar to a Boost implementation
I had one big bad experience with std::unordered_map in the past, see topic 'Performance difference between std::unordered_map and boost::unordered_map' (https://groups.google.com/forum/#!topic/comp.lang.c++.moderated/pFBjDiW6mW0).
According to Joaquin's recent benchmarks the recent standard implementations are generally faster than the boost implementation, which IMO is how it should be. I'm looking forward to Boost.Unordered's obsolescence.
It seemed to me that blog says libstdc++ is equally much faster and much slower than Boost depending on the test with a huge variance (sometimes 4x). libc++ is always slower, sometimes much slower. Dinkumware is usually faster than Boost, but not always. Besides, unordered_map<> while important is not the end of all of a STL quality of implementation. A 4x performance difference one can usually live with, while a 400x performance less so. Also, performance isn't everything, memory footprint is also very important. It's unfortunate that blog didn't show differences in unordered_map<> memory consumption. I'd warrant that Dinkumware's unordered_map<> is very, very good on memory footprint. For the other STLs, I wouldn't like to guess. Niall -- Currently unemployed and looking for work in Ireland. Work Portfolio: http://careers.stackoverflow.com/nialldouglas/