
On Jul 4, 2008, at 7:36 AM, Hicham Mouline wrote:
The solution to this one is provided by Joaquin, in his reply below:
I tried compiling your code with MSVC++ 8.0 and it is indeed incredibly slow. After playing a little with the code I realized that MPL views are the culprit here: for some reason it is much faster to fold on a vector-based computation rather than a view:
I learned an interesting and somewhat depressing fact from Doug Gregor
recently. Most compilers don't use a canonical representation of
types. That is, in most compilers, int* and add_pointer<int>::type
occupy separate pieces of storage, and the complier jumps through some
complicated hoops when it needs to evaluate them for sameness. Of
course that also means that vector