On 03/13/2016 08:11 PM, Phil Bouchard wrote:
So I renamed block_ptr<> to root_ptr<> and the code is accessible from here: https://github.com/philippeb8/root_ptr
I am sorry but I made a mistake in the benchmark again. root_ptr<> wasn't using the fast allocator. Now it does and the new benchmark is:
unique_ptr (new): 42.3736 unique_ptr (make_unique): 59.6104 shared_ptr (new): 69.9175 shared_ptr (make_shared): 46.9994 shared_ptr (allocate_shared_noinit): 31.0648 root_ptr (new): 30.5549
I just re-added the unification of proxies so now root_ptr<>s can be unified: https://github.com/philippeb8/root_ptr/blob/master/example/root_ptr_test1.cp... It is pretty much bullet-proof now functionality wise. But I still need to clean up the code. Now I have a question: in my code I use a series of const_casts and mutable qualifiers. Does that automatically removes its eligibility for eventual inclusion into Boost? https://github.com/philippeb8/root_ptr/blob/master/include/boost/smart_ptr/r... Regards, -Phil