dmd makes D appear slow

Shachar Shemesh via Digitalmars-d digitalmars-d at puremagic.com
Tue Jun 2 02:42:30 PDT 2015


On 01/06/15 18:40, Steven Schveighoffer wrote:
> On 5/30/15 2:38 PM, Shachar Shemesh wrote:
>
> So given that a compiler actually *works* (i.e. produces valid
> binaries), is speed of compilation better than speed of execution of the
> resulting binary?
There is no answer to that question.

During development stage, there are many steps that have "compile" as a 
hard start/end barrier (i.e. - you have to finish a task before compile 
start, and cannot continue it until compile ends). During those stages, 
the difference between 1 and 10 minute compile is the difference between 
1 and 10 bugs solved in a day. It is a huge difference, and one it is 
worth sacrificing any amount of run time efficiency to pay, assuming 
this is a tradeoff you can later make.

Then again, when a release build is being prepared, the difference 
becomes moot. Even your "outrageous" figures become acceptable, so long 
as you can be sure that no bugs pop up in this build that did not exist 
in the non-optimized build.

Then again, please bear in mind that our product is somewhat atypical. 
Most actual products in the market are not CPU bound on algorithmic 
code. When that's the case, the optimization stage (beyond the most 
basic inlining stuff) will rarely give you 20% overall speed increase. 
When your code performs a system call every 40 assembly instructions, 
there simply isn't enough room for the optimizer to work its magic.

One exception to that above rule is where it hurts. Benchmarks, 
typically, do rely on algorithmic code to a large extent.

Shachar


More information about the Digitalmars-d mailing list