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