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