Slow code, slow

Rubn where at is.this
Sat Feb 24 01:02:53 UTC 2018


On Friday, 23 February 2018 at 21:10:25 UTC, H. S. Teoh wrote:
> On Fri, Feb 23, 2018 at 08:51:20PM +0000, Rubn via 
> Digitalmars-d wrote: [...]
>> This slowdown for this specific example isn't cause by 
>> templates, it's caused by having to parse all the extra lines 
>> of code from phobos. I didn't say there aren't problems with 
>> templates, but this example accurately depicts nothing.
>
> I say again, do you have measurements to back up your statement?
>
> Parsing is actually very fast with the DMD front end.  I can't 
> believe that it will take half a second to parse a Phobos 
> module -- the compiler's parser is not that stupid.  I have a 
> 1600+ line module that compiles in about 0.4 seconds (that's 
> lexing + parsing + semantic + codegen), but that time more than 
> doubles when you just change a loop into a range-based 
> algorithm.  Clearly, parsing is not the bottleneck here.
>
>
> T


I did measure it, adding another instigation of the templates 
using a different type adds a fraction of the time. Not another 
0.3 seconds.

I don't know what your so called 1600+ line module is doing, just 
cause it's 1600 lines doesn't mean there won't be the same slow 
down if you don't use part of phobos in all those lines. Then add 
a few lines that do use it, which will incur this slowdown.


More information about the Digitalmars-d mailing list