Misc questions:- licensing, VC++ IDE compatible, GPGPU, LTCG, QT, SDL

Walter Bright newshound1 at digitalmars.com
Sun May 16 11:34:22 PDT 2010


bearophile wrote:
> You can't ask a new open source language to have the features of a ten+ years
> old commercial compiler.

Right, but dmd is using an optimizer and code generator that has been around for 
25 years now. It's optimization is competent and reasonably advanced - the usual 
data flow optimizations are there, and the expected back end optimizations like 
register allocation using live range analysis and instruction scheduling are all 
there.

The back end can be improved for floating point, but for integer/pointer work it 
is excellent.

It does not do link time code generation nor profile guided optimization, 
although in my experiments such features pay off only in a small minority of 
cases. In my experiments on vector array operations, the improvement from the 
CPU's vector instructions is disappointing. It always seems to get hopelessly 
bottlenecked by memory bandwidth.

The dmd does have a built-in profiling tool, which is extremely effective in 
pinpointing trouble spots in the source code. For example, in the recent issue 
where the spell checker was slow, the profiler pointed the damning finger at 
exactly where the problem was. (It was an algorithmic problem, not an 
optimization problem.)

Just to brag about how good it can be, DMC++ remains by far the fastest C++ 
compiler available, and DMD is incredibly fast at compiling. Both are built with 
the same optimizer and code generator that DMD uses.


More information about the Digitalmars-d mailing list