Official compiler

Márcio Martins via Digitalmars-d digitalmars-d at puremagic.com
Thu Feb 18 05:11:17 PST 2016


On Thursday, 18 February 2016 at 12:05:12 UTC, Jonathan M Davis 
wrote:
> On Thursday, 18 February 2016 at 11:41:26 UTC, Kai Nacke wrote:
>> On Thursday, 18 February 2016 at 10:45:54 UTC, Márcio Martins 
>> wrote:
>>> I suppose it's a lot easier to address the compilation speed 
>>> issue in LDC/GDC, than to improve and maintain DMD's backend 
>>> to the expected levels, right?
>>
>> LLVM has about 2.5 million code lines. I am anything than sure 
>> if it is easy to improve compilation speed.
>
> On some level, I would expect compilation speed and generating 
> well-optimized binaries to be mutually exclusive. To get those 
> extra optimizations, you usually have to do more work, and that 
> takes more time. I'm sure that some optimizations can be added 
> to dmd without particularly compromising compilation speed, and 
> gdc and ldc can probably be made to compile faster without 
> losing out on optimizations, but you can only go so far without 
> either losing out on compilation speed or on optimizations. And 
> obviously, it's not necessarily easy to make improvements to 
> either, regardless of whether it comes at the cost of the other.
>
> - Jonathan M Davis

I agree with that. It also means that it would be considerably 
easier to have a setting in LDC/GDC that generates slightly worst 
code, and compiles slightly faster... perhaps never reaching the 
speed of DMD, but compilation speed is not the only factor, is it?

GCC/LLVM have many more supported platforms and architectures, 
produce faster code, and have large communities behind them, 
constantly optimizing and modernizing, backed by it giants like 
Google, Apple, ...

I cannot say for GCC but LDC also has considerably better tooling 
with the sanitizers.

LDC seems to also be the closest to support all major platforms 
and architectures, including iOS and Android which are huge 
markets. It supports Win64/Win32 (experimental) out-of-the-box.

Both LDC and GDC have no weird legal strings attached.
Both can be distributed with major Linux distros.

All that DMD has going for it is it's compilation speed.

These are all big points towards having more users experience and 
enjoy D as we do!

To get more contributors, more people have to use and believe in 
the language. DMD has a lot of clear barriers for this.

Really, not a lot has to change to start with, just fix the 
installers and slap the official tag in either LDC or GDC.


More information about the Digitalmars-d mailing list