On 24/07/12 15:34, Andrei Alexandrescu wrote:
One idea would be to take a real, non-trivial application, written in both D and
another compiled language. We then can measure build times for both
applications, and also measure the relative speeds of the generated executables.

Suggest that this gets done with all 3 of the main D compilers, not just DMD. I'd like to see the tradeoff between compilation speed and executable speed that one gets between them.

I do have some pretty much equivalent simulation code written in both D and C++. For a rough comparison:

   Language     Compiler        Compile time (s)        Runtime (s)
     D            GDC              1.5                    25.3
     D            DMD              0.4                    52.1
     C++          g++              2.3                    21.8
     C++          Clang++          1.8                    27.6

DMD used is a fairly recent pull from GitHub; GDC is the 4.6.3 package found in Ubuntu 12.04. I don't have a working LDC2 compiler on my system. :-(

The C++ has a template-based policy class design, while the D code uses template mixins to similar effect. The D code can be found here:
https://github.com/WebDrake/Dregs

While I'm happy to also share the C++ code, I confess I'm shy to do so given that it probably represents a travesty of the beautiful ideas Andrei developed on policy class design ... :-)

Best wishes,

    -- Joe

Reply via email to