Performance dmd vs ldc2

Chris wendlec at tcd.ie
Wed Jul 24 03:05:16 PDT 2013


I recompiled a medium sized project with ldc2 (for the first time 
ever). I was surprised at how fast the program started 
afterwards. My program reads in a few rule files it needs to 
operate (including XML parsing). With dmd 2.063 the program takes 
4 seconds to load, with ldc2 it is there immediately.

Although I have not done any serious (i.e. exact) benchmarking 
here are the first obvious results:

Build time
dmd 2.063 : ~ 1 sec (probably less)
ldc2 : 14 secs

File size of executable
dmd 2.063 : 2.8 MB
ldc2 : 3.2 MB

Startup time
dmd 2.063 : 4 secs
ldc2 : next to zero secs (true!)

The program uses external C libraries (portaudio and libsndfile 
among others). However, the performance gain when using ldc2 is 
in the reading and parsing part of the program, which is pure D 
code.

By the way, the program compiled with ldc2 without error at the 
first attempt. No complaints, no questions asked :-)

PS Naive question: What's the difference between ldc2 and ldmd2?


More information about the digitalmars-d-ldc mailing list