D needs to publicize its speed of compilation

Atila Neves atila.neves at gmail.com
Wed Dec 27 21:23:15 UTC 2017


On Friday, 22 December 2017 at 10:06:18 UTC, Joakim wrote:
> This one of the main strengths of D, it is what Walter focuses 
> on, yet I have seen almost nothing on the D blog talking about 
> this.  What brought me to emphasize this today is this recent 
> post about how long it takes to compile the mostly-C++ Chromium 
> web browser and the reddit discussion about it:
>
> https://lobste.rs/s/iri1te/chromium_has_compilation_time_problem
> https://www.reddit.com/r/programming/comments/7ktzog/chromium_has_a_compilation_time_problem/
>
> I'm tempted to call BS on that 6-7 hour build time, as I used 
> to contribute to the Chromium project, and I think it used to 
> take me 20 minutes for a release build in a FreeBSD jail on a 
> fairly weak, 2008-vintage mini-desktop, a dual-core Celeron 
> with 2 GBs of RAM (don't hold me to that build time, just a 
> vague recollection, but probably in the ballpark).  Of course, 
> the last time I built Chromium was more than 5 years ago, and a 
> lot has likely changed since then, such as now using LTO to 
> speed up the browser apparently, and maybe the 
> cross-compilation toolchain for ARM is slower, though others 
> note similar times for native x64 compilation also.
>
> That still implies a slowdown of 2-3 orders of magnitude over 
> the last 5 years, given the much more powerful hardware he's 
> using, which is nuts.
>
> D really needs the community to write blog posts talking about 
> how fast it is, publicizing that there is an alternative to 
> these glacial build times: who wants to do this?  It doesn't 
> need to be on the D blog, could just be on your personal blog, 
> but it is a message that really needs to be spread.

I thought D did market itself that way.

However, my experience has been that D has fast builds from 
scratch, but is really really slow for incremental builds. Here's 
the thing: personally I don't care about anything except 
incremental builds. It's great that Phobos compiles in seconds 
when I do a git fetch after months. Win! Oh wait, I'm working on 
a bug, changed one character and it still takes the same amount 
of time...

Given that I write D code every day now, this incremental 
compilation situation is driving me nuts, and I'm definitely 
going to do something about it.

It's getting so bad that the day at work I had to write C++ I was 
happy. Because the edit-compile-link-test cycle was _faster_. 
Think about that for a bit - I enjoyed writing C++ (!!! either it 
or Scala are the slowest languages to compile ever) because I got 
faster feedback. Epic fail.

It's also possible I use templates and CTFE more that the regular 
D programmer. But... they're some of the main reasons I use D in 
the first place! I don't want to write Java in D syntax.

Atila

Atila


More information about the Digitalmars-d mailing list