
On 03/10/08 11:29, Eric Niebler wrote:
Steven Watanabe wrote:
AMDG
Markus Werle wrote: [snip]
The typelist used there is not Fusion-compatible, but expr<> as a whole is. For a while, I was using mpl::vector<> as the second template parameter to expr<>, but I changed to a very simple custom type because it improved compile times.
Could you give some estimate as to how much it improved compile times? Do you have handy a benchmark test to show this? I would like to try this benchmark with the variadic template compiler to see how close they are. I know you've already tried the variadic compiler, but I'd like to try the benchmark myself and maybe show the results and code to Douglas Gregor so that maybe he can figure out why the variadic compiler is not improving compile times. As you noted in a private email to me, the basic reason is: Instantiating templates is expensive. By comparison, expanding a macro is cheap. However, maybe the benchmark would prompt Douglas to look for ways to improve the compiler's template instantiation speed.