gdc or ldc for faster programs?

Iain Buclaw ibuclaw at gdcproject.org
Wed Jan 26 11:25:47 UTC 2022


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.

Whenever I've watched talks/demos where benchmarks were the 
central topic, GDC has always blown LDC out the water when it 
comes to matters of math.

Even in more recent examples where I've been pushing for native 
complex to be replaced with std.complex, LDC was found to be 
slower with std.complex, but GDC was either equal, or faster than 
native (and GDC std.complex was faster than LDC).


More information about the Digitalmars-d-learn mailing list