Slow code, slow
Dmitry Olshansky
dmitry.olsh at gmail.com
Sat Feb 24 06:37:18 UTC 2018
On Saturday, 24 February 2018 at 00:21:06 UTC, Andrei
Alexandrescu wrote:
> On 2/23/18 3:15 PM, H. S. Teoh wrote:
>>
>> tl;dr: A trivial piece of code, written as ostensibly
>> "idiomatic D" with. Makes me cringe every time I hear
>> "fast code, fast". Our old slogan is a much more accurate
>> description of
>> the current state of things.)
>
> cc Dmitry
>
> Thanks for a solid bug report. The right response here is to
> live into our "fast code, fast" principle. It might be the case
> that the slowdown is actually the negative side of an
> acceleration :o) - before Dmitry's recent work, the sheer act
> of importing std.regex would be slow. Dmitry, do you think you
> could use some precompiled tables to mitigate this?
First things first sombody need to profile compiler while
compiling this snippet.
My guesswork is that instantiating templates + generating long
symbols is the problem.
The template system obviously needs some (re)work, I think at a
time nobody thought templates would be that abundant in D code.
Nowdays it’s easily more templates then normal functions.
> Is your caching compiler going to help the matter?
In some distant bright future where it may be finally applied to
instantiating templates and caching codegen but even then I’m not
100% positive.
Finally, I repeat - we have not yet identified problem. What
takes time in the compiler needs to be figured out by disecting
the time taken via profiler and experimentation.
—
Dmitry Olshansky
More information about the Digitalmars-d
mailing list