Precise GC state
Dmitry Olshansky
dmitry.olsh at gmail.com
Mon Nov 27 14:35:03 UTC 2017
On Monday, 27 November 2017 at 07:03:01 UTC, Ola Fosheim Grostad
wrote:
> On Monday, 27 November 2017 at 06:47:00 UTC, Dmitry Olshansky
> wrote:
>> Last time I check shared_ptr can be safely shared across
>> threads, hence RC is takling synchronization and most likely
>> atomics since locks won’t be any better.
>
> The controlblock can, but it is crazy to use shared_ptr for
> anything more than high level ownership. It is a general
> solution with weak pointers and extra indirection, not a
> typical RC implementation for datastructures.
Then watch Herb’s Sutter recent talk “Leak freedom by default”.
Now THAT guy must be out of his mind :)
I have no idea what are your typical C++ programmers.
>
>>> In C++ sync is manual, which is the only efficient way to do
>>
>> ??? shared_ptr is nowhere manual.
>
> There is an upcoming atomic_shared_ptr, but it is not in the
> standard yet.
atomic_shared_pointer is nothing but what you seem to imply. It’s
not manual sync for one.
>
>> My post is about particular primitive in C++ std, what could
>> be done instead or in addition to is not important.
>
> Oh, but it is.
You keep spreading FUD on this forum, I’m still not sure of your
reasons though.
>
> 1. D currently does not provide what you says it does.
RefCounted!T
>
> 2. Sane C++ programmers rarely use shared_ptr for more than
> exchsnging ownership (suitable for sharing things like bitmap
> textures).
Including across threads btw.
> There are plenty of other RC implementations for tracking
> memory.
Like what? In standard C++ all you’ve got is unique_ptr and
shared_ptr (and weak but that besides the point). There is maybe
a ton of reimplementations of said things.
More information about the Digitalmars-d
mailing list