Which D features to emphasize for academic review article

F i L witte2008 at gmail.com
Sun Aug 12 18:38:52 PDT 2012


Andrei Alexandrescu wrote:
> * Efficiency - D generates native code for floating point 
> operations and has control over data layout and allocation. 
> Speed of generated code is dependent on the compiler, and the 
> reference compiler (dmd) does a poorer job at it than the 
> gnu-based compiler (gdc) compiler.

I'd like to add to this. Right now I'm reworking some libraries 
to include Simd support using DMD on Linux 64bit. A simple 
benchmark between DMD and GCC of 2 million simd vector 
addition/subtractions actually runs faster with my DMD D code 
than the GCC C code. Only by ~0.8 ms, and that could be due to a 
difference between D's sdt.datetime.StopWatch() and C's 
time.h/clock(), but it's consistently faster none-the-less, which 
is impressive.

That said, it's also much easier to "accidentally slow that 
figure down significantly in DMD, whereas GCC usually always 
optimizes very well.


Also, and I'm not sure this isn't just me, but I ran a DMD 
(v2.057 T think) vector test (no simd) against Mono C# a few 
moths back where DMD got only ~10 ms improvement over C# (~79ms 
vs ~88ms). Now a similar test compiled with DMD 2.060 runs at 
~22ms vs C#'s 80ms, so I believe there's been some definite 
optimization improvements in the internal DMD compiler over the 
last few version.


More information about the Digitalmars-d mailing list