Plan for D

IGotD- nise at nise.com
Thu May 20 16:33:09 UTC 2021


On Thursday, 20 May 2021 at 15:28:52 UTC, Paulo Pinto wrote:
>
> Contrary to popular belief ARC implementations are quite lousy.
>
> Good in theory, not so much when placed in benchmarks, but I 
> guess Apple's marketing helps selling the pivot regarding 
> Objective-C GC failure.
>
> https://github.com/ixy-languages/ixy-languages
>
> To the point that in all these years Microsoft never bothered 
> to try that in any of their C++ COM/UWP aware implementations.
>
> Also there isn't a single C++ compiler that does such 
> optimizations to their smart pointer classes.

Compared to what?

So a tracing GC is faster and as RAM increases what happens to 
the time spent scanning? Reference counting has a performance 
impact which is known. The reference counting in Nim has been a 
success a provided in general better performance than the tracing 
ones (something Nim can easily do as you can just swap them out). 
Because of the RC is now the default GC type in Nim. RC has also 
a known performance impact that is spread through out the 
execution. Loops can be optimized so that any inc/dec can be 
avoided.

Rust has interesting take on RC as move is the default. There is 
no inc/dec on a move and neither when borrowing (you borrow the 
inner type). It's kind of a natural optimization because of this. 
Because of this I would rather see a move by default by type in D.



More information about the Digitalmars-d mailing list