Inherent code performance advantages of D over C?

qznc qznc at web.de
Sun Dec 8 06:26:52 PST 2013


On Sunday, 8 December 2013 at 12:35:45 UTC, ponce wrote:
>> 1. D knows when data is immutable. C has to always make worst 
>> case assumptions, and assume indirectly accessed data mutates.
>
> ICC (and other C++ compilers) has plenty of way to disambiguate 
> aliasing:
> - a pragma to let the optimizer assume no loop dependency
> - restrict keyword
> - /Qalias-const: assumes a parameter of type pointer-to-const 
> does not alias with a parameter of type pointer-to-non-const.
> - GCC-like strict aliasing rule

To be fair, all of these are unsafe optimizations. You only use 
them after carefully identifying the hot spot. D immutability is 
based on a (probably) sound type system and can be used without 
danger.


More information about the Digitalmars-d mailing list