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 09:54:51 PST 2013


On Sunday, 29 December 2013 at 15:22:29 UTC, Andrei Alexandrescu 
wrote:
> Wait, what? Go excused itself out of the competition, and you'd

Agree. I consider Go to be a web-service language atm.

> need to bring some evidence that D is not as fast/tight as C++. 
> I have accumulated quite a bit of evidence the other way 
> without even trying.

One example: Performant C++ is actually C with a bit of C++ 
convinience, so you toss out exception handling, stack unwinding 
and even turn off stack frames. With that and allocation pools 
you can backtrack by simply setting the stack-pointer and 
dropping the pool. C is so barebones that you can do your own 
coroutines without language support if you wish.

As long as you only call nothrow functions you can do this? So 
you can use slower C++ convinience for initialization and 
close-to-the-metal after that.

> the standard library. But claiming that D code can't be 
> efficient because of some stdlib artifacts is like claiming C++ 
> code can't do efficient I/O because it must use iostreams 
> (which are indeed objectively and undeniably horrifically 
> slow). Neither argument has merit.

Well, but people who care about real-time performance in C++ use 
libraries that stays clear of those areas. C++ stdlib is more for 
medium-performance code sections than high-performance code.

The GC trash cashes when it kicks in. That affect real-time 
threads where you basically have hard real-time requirements. 
That means you need higher headroom (can do less 
signal-processsing in an audio realtime thread).


More information about the Digitalmars-d mailing list