DMD is slow for matrix maths?
Laeeth Isharc via Digitalmars-d
digitalmars-d at puremagic.com
Mon Oct 26 20:16:19 PDT 2015
On Tuesday, 27 October 2015 at 03:10:43 UTC, H. S. Teoh wrote:
> On Tue, Oct 27, 2015 at 02:21:38AM +0000, Laeeth Isharc via
> Digitalmars-d wrote: [...]
>> So I would suggest it isn't productive to think about whether
>> Dmd will catch up. Maybe, maybe not. Doesn't matter. Making
>> it faster will help many - this defeatist attitude of 'why
>> bother - just use GDC or LDC' may not be the best long-term
>> strategy (remember that these too are volunteer projects, and
>> they don't have an army, especially GDC, and you shouldn't
>> assume that magically they'll always manage just because they
>> have so far), whether or not it catches up. There's always an
>> opportunity cost, but so what.
>>
>> One should treat dmd performance as an interesting challenge,
>> not something that's set in stone, and can never much change.
>
> While I agree that improving dmd performance will at the end of
> the day reap benefits for all parties involved, I'm also not
> holding my breath for that to happen. I haven't measured the
> performance of the latest DMD git HEAD against GDC, but the
> last time I checked (which is sometime earlier this year, not
> that long ago), GDC-generated code still outperforms
> DMD-generated code by 20%-30%.
>
> Judging from the assembly code, this difference mainly arises
> from the DMD inliner being overly conservative, and the lack of
> advanced loop optimization techniques such as aggressive code
> hoisting, strength reduction, unrolling, etc.. Fixing the
> inliner will probably be relatively easy; loop optimizations
> will be more challenging, especially if Walter continues to
> insist on compilation speed. Some of the problems that have to
> be solved in advanced loop optimization require more expensive
> algorithms, which may incur a penalty on compilation time.
>
>
> T
Thanks for the insight.
If the optimisations are configurable by the user, you pick your
poison, and live with that tradeoff, no?
More information about the Digitalmars-d
mailing list