Coding Challenges - Dlang or Generic
Siarhei Siamashka
siarhei.siamashka at gmail.com
Wed Jan 18 01:05:58 UTC 2023
On Tuesday, 17 January 2023 at 23:27:03 UTC, matheus wrote:
> I ran in two sites: https://onecompiler.com/d and then
> https://godbolt.org/, with the latter I set LDC with -O2.
>
> My version (Source in the end) ran about 2x faster than the
> version with ranges.
Well, the use of ranges is not the only difference.
>> Can you try to run the following diagnostics program on this D
>> Online Compiler platform?
>> https://gist.github.com/ssvb/5c926ed9bc755900fdaac3b71a0f7cfd
>
> https://onecompiler.com/d/3yv7t9ap9
>
> Gives me:
>
> HelloWorld.d(43): Error: undefined identifier `volatileStore`
> HelloWorld.d(44): Error: undefined identifier `volatileLoad`
The volatileStore/volatileLoad functions used to be in
`core.bitop` in the old versions of D compilers, but then moved
to `core.volatile`. This kind of reshuffling is annoying, because
supporting multiple versions of D compilers becomes unnecessarily
difficult. After importing `core.volatile` in
https://onecompiler.com/d/3yv7u9v7c now it prints:
Detected compiler: DMD
Performance warning: '-O' option was not used!
Performance warning: '-release' option was not used!
Performance warning: DMD generates much slower code than GDC
or LDC!
And this is a systematic problem with various online D compilers.
Some of them don't bother to enable optimizations. Which isn't
bad by itself, but makes it unsuitable for running benchmarks.
More information about the Digitalmars-d-learn
mailing list