Plan for D

Paulo Pinto pjmlp at progtools.org
Thu May 20 18:18:40 UTC 2021


On Thursday, 20 May 2021 at 16:33:09 UTC, IGotD- wrote:
> 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.

Looking forward to the Nim RC beating these benchmarks.

https://devblogs.microsoft.com/aspnet/grpc-performance-improvements-in-net-5/

https://www.techempower.com/benchmarks/

And it isn't as if Nim has a community that much greater than D 
currently has.

Rust doesn't have RC, just library types, Arc/RC everywhere is 
just as slow as shared_ptr everywhere.

In fact, the way that Apple got around improving ARC wasn't 
spending more development resources on their Objective-C/Swift 
compilers, rather develop a complete new CPU.

Now iDevices have turned into Swift/Objective-C machines.

  
https://blog.metaobject.com/2020/11/m1-memory-and-performance.html



More information about the Digitalmars-d mailing list