Microsoft working on new systems language

Ola Fosheim Grøstad" <ola.fosheim.grostad+dlang at gmail.com> Ola Fosheim Grøstad" <ola.fosheim.grostad+dlang at gmail.com>
Sun Dec 29 06:35:43 PST 2013


On Sunday, 29 December 2013 at 13:46:07 UTC, Dicebot wrote:
> This is not true. Assuming skilled use and same compiler 
> backend those are equally performant. D lacks some low-level 
> control C has (which is important for embedded) but it is not 
> directly related to performance.

That low-level control also matters for performance, when you 
have hard deadlines. E.g. when the GC kicks in, it not only hogs 
all the threads that participate in GC, it also trash the caches 
unless you have a GC implementation that bypasses the caches. 
Sustained trashing of caches is bad.

C has low-level, low resource usage defaults. While you can do 
the same in some other languages they tend to default to more 
expensive use patterns. Like D defaults to stuff like GC and 
thread-local-storage. Defaults affect library design, which in 
turn affect performance. (thread local storage requires either an 
extra indirection through a register or multiple kernel level 
page tables per process)


More information about the Digitalmars-d mailing list