
24 May
2011
24 May
'11
11:52 p.m.
On 5/24/2011 4:07 PM, Nevin Liber wrote:
Your claim is " It is a fast as the popular smart pointer * boost::shared_ptr<T>*". Yet, in single-threaded code and shared_ptr using new instead of make_shared, block_ptr still takes 3.3x as long as shared_ptr.
That is *a lot* of overhead...
I just tested it using make_shared & make_block and I get: make: auto_ptr: 11109841 ns shared_ptr: 21215277 ns block_ptr: 143637475 ns new: auto_ptr 4583447 ns shared_ptr: 10675000 ns block_ptr: 67152785 ns FYI make_shared is slower than new because of the temporary it creates. If people what speed they should stick to operator new in all cases. -Phil