vectorization of a simple loop -- not in DMD?
ryuukk_
ryuukk.dev at gmail.com
Mon Jul 11 22:16:05 UTC 2022
On Monday, 11 July 2022 at 21:46:10 UTC, IGotD- wrote:
> On Monday, 11 July 2022 at 18:19:41 UTC, max haughton wrote:
>>
>> The dmd backend is ancient, it isn't really capable of these
>> kinds of loop optimizations.
>
> I've said it several times before. Just depreciate the the DMD
> backend, it's just not up to the task anymore. This is not
> criticism against the original purpose of it as back in the 90s
> and early 2000s it made sense to create your own backend. Time
> has moved on and we have LLVM and GCC backends with a lot of
> CPU support that the D project could never achieve themselves.
> The D project should just can the DMD backend in order to free
> up resources for more important tasks.
>
> Some people say they like it because it is fast, yes it is fast
> because it doesn't do much.
I use D because DMD compiles my huge project in ~1 second (full
clean rebuild)
It is a competitive advantage that many languages doesn't have
LDC clean full rebuild
```
$ time dub build -f --compiler=ldc2
Performing "debug" build using ldc2 for x86_64.
game ~master: building configuration "desktop"...
Linking...
real 0m18.033s
user 0m0.000s
sys 0m0.015s
```
LDC incremental
```
$ time dub build --compiler=ldc2
Performing "debug" build using ldc2 for x86_64.
game ~master: building configuration "desktop"...
Linking...
real 0m17.215s
user 0m0.000s
sys 0m0.000s
```
DMD clean full rebuild
```
$ time dub build -f --compiler=dmd
Performing "debug" build using dmd for x86_64.
game ~master: building configuration "desktop"...
Linking...
real 0m1.348s
user 0m0.031s
sys 0m0.015s
```
DMD incremental
```
$ time dub build --compiler=dmd
Performing "debug" build using dmd for x86_64.
game ~master: building configuration "desktop"...
Linking...
real 0m1.249s
user 0m0.000s
sys 0m0.000s
```
The day DMD gets removed is the day i will good a different
language
I want to thank Walter for maintaining DMD the compiler, and
making it incredibly fast at compiling code
Release perf can't beat LLVM and its amount of optimizations, but
the advantage is it allows VERY FAST and QUICK iteration time, it
is ESSENTIAL for developing software
More information about the Digitalmars-d-learn
mailing list