On Sunday, 9 April 2017 at 08:56:52 UTC, Atila Neves wrote:
I benchmarked RefCounted against C++'s std::shared_ptr
comparing ldc to clang using both shared and non-shared
payloads in D. std::shared_ptr is faster (I've never written a
smart pointer before), but the advantage of non-atomic
operations makes my D implementation just a bit faster when
non-shared. I think with some work it can be significantly
faster without any loss of thread safety.
You know you can overload `this(this) shared` do you? My plan was
to use that for atomic RC, so that ppl. can use
`shared(RefCounted)` when necessary.