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