Re:Swift 3.0 Unsafe World
by seanmcdirmid on Tuesday September 27, 2016 @10:19AM
(#12589732)
Tracing GC was supported in objective C for awhile but was deprecated/dropped awhile back because of performance issues. Referencing counting does have some advantages over tracing GC, but it's all really a bunch of trade offs to make.
[ Parent
| on HN ]
Performance wasn't the main problem, rather crashes and memory corruption.
Re:Swift 3.0 Unsafe World
by seanmcdirmid on Tuesday September 27, 2016 @12:03PM
(#12590608)
Ah, that makes sense. I remember them putting it in and then yanking it out for some reason.
Referencing counting seems to be in vogue these days because it is somewhat more predictable on mobile systems, at least this is what I heard about the Metro/Store/UWP API at Microsoft (C# is still garbage collected, but the APIs are primarily ref counted).
WinRT is just COM with a new base interface extending IUknown and .NET metadata instead of TLB files.
If you search for Ext-VOS on Don Syme blog, it resembles quite a lot the genesis of .NET before they went with the CLR.