Why is D's GC slower than GO's?
Walter Bright
newshound2 at digitalmars.com
Mon Oct 31 06:06:36 UTC 2022
On 10/29/2022 11:48 PM, Paulo Pinto wrote:
> On Sunday, 30 October 2022 at 01:51:46 UTC, Walter Bright wrote:
>> On 10/29/2022 1:11 PM, Paulo Pinto wrote:
>>> Again mixing languages,
>>>
>>> __gc is from Managed C++, .NET 1.0
>>>
>>> C++/CLI, .NET 2.0 onwards, uses ^ for reference types and gcnew for GC heap.
>>
>> What's the difference between __gc* and ^ ?
>
> Between Managed C++ and C++/CLI, none.
>
> The latter replaces the former, Managed C++ died with .NET 2.0 release.
>
> If we also bring C++/CX into the picture, ^ is a tracing GC pointer to .NET
> types in C++/CLI, while on C++/CX it is compiler native support for COM types
> with the compiler doing AddRef/Release calls on its own.
>
> In modern native frameworks, WRL, WIL and C++/WinRT, the ^ get replaced by
> library smart pointer classes.
Thank you for the explanation. It's a syntactical change, not a semantic one.
More information about the Digitalmars-d
mailing list