Speeding up text file parser (BLAST tabular format)

Fredrik Boulund via Digitalmars-d-learn digitalmars-d-learn at puremagic.com
Mon Sep 14 07:34:41 PDT 2015


On Monday, 14 September 2015 at 14:18:58 UTC, John Colvin wrote:
> Range-based code like you are using leads to *huge* numbers of 
> function calls to get anything done. The advantage of inlining 
> is twofold: 1) you don't have to pay the cost of the function 
> call itself and 2) often more optimisation can be done once a 
> function is inlined.

Thanks for that explanation! Now that you mention it it makes 
perfect sense. I never considered it, but of course *huge* 
numbers of function calls to e.g. next() and other range-methods 
will be made.

> Because there are much better at inlining. dmd is quick to 
> compile your code and is most up-to-date, but ldc and gdc will 
> produce somewhat faster code in almost all cases, sometimes 
> very dramatically much faster.

Sure sounds like I could have more fun with LDC and GDC on my 
system in addition to DMD :).




More information about the Digitalmars-d-learn mailing list