Official compiler

Xavier Bigand via Digitalmars-d digitalmars-d at puremagic.com
Thu Feb 25 15:48:15 PST 2016


Le 25/02/2016 03:48, Walter Bright a écrit :
> On 2/24/2016 6:05 PM, Adam D. Ruppe wrote:
>> I've also heard from big users who want the performance more than
>> compile time
>> and hit difficulty in build scaling..
>
> I know that performance trumps all for many users. But we can have both
> - dmd and ldc/gdc.
>
> My point is that compile speed is a valuable and distinguishing feature
> of D. It's one that I have to constantly maintain, or it bit rots away.
> It's one that people regularly dismiss as unimportant. Sometimes it
> seems I'm the only one working on the compiler who cares about it.
>
> For comparison, C++ compiles like a pig, I've read that Rust compiles
> like a pig, and Go makes a lot of hay for compiling fast.

I think that you are very gentle with C++. It can be hell, when you are 
working on multiple platforms with different compiler and build systems 
it took a lot of efforts and time to maintain compilation time at a 
decent level.
I recently made optimizations on our build configurations after adding 
some boost modules at my day job. Our build time double instantly.
All optimizations have a great cost on at least an other point.
- PIMPL: Increase the code complexity, decrease performances
- Precompiled header: not standard, mingw is limited to 130Mo generated file
- Unity build: can be hard to add to many build system if 
auto-generated. compiler can crash with an out of memory (mingw will be 
the first)
- cleaning our includes: how doing that without tools?
- multi-threaded compilation: not standard, sometimes it have to be 
configured on computer

So thank you for having created a fast compiler even if I just can dream 
to be able to use it a day professionally.
IMO if Go is a fast compiler is just because dmd shows the way.

Is dmd multi-threaded?

PS: I don't understand why import modules aren't already here in c++, it 
make years that clang team is working on it.


More information about the Digitalmars-d mailing list