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.

Reply via email to