[Patch] Regex bracket matcher cache optimization
Wed Jan 8 10:20:00 GMT 2014
On 01/08/2014 10:24 AM, Jonathan Wakely wrote:
> On 7 January 2014 19:36, Tim Shen wrote:
>> I didn't noticed that's so time consuming. I think reducing the
>> compile time is possible (by templating several member functions
>> instead of whole _Compiler<> class).
> Ouch! Yes, that's quite a bit slower, and this code is already very
> slow to compile.
> I haven't looked at the code recently, but another option that
> sometimes helps is to have a base class that implements the common
> functionality and then derive four classes from it, but minimise the
> amount of code in the derived classes.
I only want to add that, besides keeping compile-time under control for
4.9.0 - please investigate a bit more along the mentioned lines - we
should also start experimenting with exporting the instantiations. I
don't know what the other implementations are doing, but in general it
definitely makes sense, for compile-time performance too. I think we
already said that some time ago, but the issue seems more important now.
Maybe it's really unavoidable if we need template complexity for first
class run-time performance.
More information about the Libstdc++