What is the compilation model of D?

Russel Winder russel at winder.org.uk
Thu Jul 26 01:27:03 PDT 2012


On Wed, 2012-07-25 at 01:03 -0700, Jonathan M Davis wrote:
[…]
> I've heard of overnight builds, and I've heard of _regression tests_ running 
> for over a week, but I've never heard of builds being over 2 days. Ouch.

Indeed the full test suite did take about a week to run. I think the
core problem then was it was 2006, computers were slower, parallel
compilation was not as well managed as multicore hadn't really taken
hold, and they were doing the equivalent of trying -O2 and -O3 to see
which space/time balance was best.

> It has got to have been possible to have a shorter build than that. Of course, 
> if their code was bad enough that the build was that long, it may have been 
> rather disgusting code to clean up. But then again, maybe they genuinely had a 
> legitimate reason for having the build take that long. I'd be very surprised 
> though.

These were smart people, so my suspicion is very much that there was a
necessary complexity. I think there was also an element of they were in
the middle of a global refactoring. I suspect they have now had time to
get stuff into a better state, but I do not know.

> In any case, much as I like C++ (not as much as D, but I still like it quite a 
> bit), its build times are undeniably horrible.

Indeed, especially with -O2 or -O3.

This is an area where VM + JIT can actually make things a lot better.
Optimization happens on actually running code and is therefore focused
on the "hot spot" rather than trying to optimize the entire code base.
Java is doing this quite successfully, as is PyPy.

-- 
Russel.
=============================================================================
Dr Russel Winder      t: +44 20 7585 2200   voip: sip:russel.winder at ekiga.net
41 Buckmaster Road    m: +44 7770 465 077   xmpp: russel at winder.org.uk
London SW11 1EN, UK   w: www.russel.org.uk  skype: russel_winder
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 198 bytes
Desc: This is a digitally signed message part
URL: <http://lists.puremagic.com/pipermail/digitalmars-d/attachments/20120726/1afbe4a3/attachment.pgp>


More information about the Digitalmars-d mailing list