Why is D's GC slower than GO's?
Walter Bright
newshound2 at digitalmars.com
Sun Oct 30 22:21:12 UTC 2022
On 10/30/2022 12:26 PM, Paulo Pinto wrote:
> You can read the documentation over here,
>
> https://clang.llvm.org/docs/AutomaticReferenceCounting.html
>
> https://developer.apple.com/library/archive/releasenotes/ObjectiveC/RN-TransitioningToARC/Introduction/Introduction.html#//apple_ref/doc/uid/TP40011226
>
> https://docs.swift.org/swift-book/LanguageGuide/AutomaticReferenceCounting.html
I didn't realize you classified ARC as a separate pointer type. You can't do
pointy things with it like pointer arithmetic, or taking the address of a
variable with it. It's sort of like an associative array in D is a special type,
but not what I'd consider a pointer type. Even class references in D are not
really a special pointer type.
But thank you for the references.
> And if there is some legacy Objective-C 2.0 GC code lying around, there is
>
> https://developer.apple.com/library/archive/documentation/Cocoa/Conceptual/GarbageCollection/Introduction.html#//apple_ref/doc/uid/TP40002431
>
> Basically the attribute qualifiers for pointers and class properties, specially
> in Objective-C case, and the Swift Objective-C interop, influence the semantics
> and type semantics of what ARC does with the pointers and their compatibility
> with raw pointers that aren't managed by ARC.
>
> And the now dead tracing GC experiement, also had its own flavour of GC managed
> pointers alongside raw ones.
Does that mean it had managed pointers, and abandoned them?
More information about the Digitalmars-d
mailing list