On 16/10/2014 18:19, Eric Niebler wrote:
On 10/7/2014 9:48 AM, Mathias Gaunard wrote:
We're not focusing on expression templates for now, but the plan is to roll our own set of types instead of using Proto's, and just make them Proto-compatible (minus the proto_grammar typedef).
The two things that affect compilation speed the most are the amount of templates instantiated and the symbol length.
I think it's time for proto-14, using Louis Dionne's generalized-lambdas-as-tuples tricks from Hana as a basis. That would *vastly* improve compile times and shrink symbol lengths to almost nothing.
I've tried the lambda trick to hide symbols, it doesn't actually work. It does work with MSVC, which affects a UUID for each lambda, but with GCC/Clang the name of a lambda contains the name of the function it is created in, which also contains the type of the template parameters that this function takes.