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