On Wednesday, 26 January 2022 at 11:25:47 UTC, Iain Buclaw wrote:
On Wednesday, 26 January 2022 at 04:28:25 UTC, Ali Çehreli
wrote:
On 1/25/22 16:15, Johan wrote:
> On Tuesday, 25 January 2022 at 19:52:17 UTC, Ali Çehreli
wrote:
>>
>> I am using compilers installed by Manjaro Linux's package
system:
>>
>> ldc: LDC - the LLVM D compiler (1.28.0):
>> based on DMD v2.098.0 and LLVM 13.0.0
>>
>> gdc: dc (GCC) 11.1.0
>>
>> dmd: DMD64 D Compiler v2.098.1
>
> What phobos version is gdc using?
Oh! Good question. Unfortunately, I don't think Phobos modules
contain that information. The following line outputs 2076L:
pragma(msg, __VERSION__);
So, I guess I've been comparing apples to oranges but in this
case an older gdc is doing pretty well.
Doubt it. Functions such as to(), map(), etc. have pretty much
remained unchanged for the last 6-7 years.
The stdlib makes a huge difference in performance.
Ali's program uses string manipulation, GC, ... much more than
to() and map().
Quick test on my M1 macbook:
LDC1.27, arm64 binary (native): ~0.83s
LDC1.21, x86_64 binary (rosetta, not native to CPU instruction
set): ~0.75s
Couldn't test with LDC 1.6 (dlang2.076), because it is too old
and not running on M1/Monterey (?).
-Johan