On 11/02/2016 11:43 PM, Vladimir Panteleev wrote:
For each function that is only called during compilation (e.g. for code
generation), at the top add:

    if (!__ctfe)
        return;

That's it. For one project, this brought compilation time (with
optimizations) from over an hour down to seconds!

As it turns out, DMD will codegen all functions, even templated ones
when they're instantiated, whether they're called by something or not.
With metaprogramming-heavy code, it's easy to run into some optimizer
performance corner cases, however this may make an impact regardless.


That's interesting. cc Dmitry, perhaps adding that to ctRegex would be helpful. -- Andrei

Reply via email to