
On 09/26/09 10:40, Christopher Schmidt wrote: [snip]
I used gcc 4.4.1 (TDM-1 mingw32) and ptime to measure performance. It is pretty interesting that the instantiation of the horizontal tuple type is just slightly slower. The at-operations differ all the more surprisingly.
=== g++ -std=c++0x -c test.cpp === Execution time: 5.274 s === g++ -std=c++0x -c test.cpp -DAT === Execution time: 11.821 s === g++ -std=c++0x -c test.cpp -DMETA_AT === Execution time: 12.161 s === g++ -std=c++0x -c test.cpp -DAT -DMETA_AT === Execution time: 19.565 s === g++ -std=c++0x -c test.cpp -DVERTICAL === Execution time: 4.884 s === g++ -std=c++0x -c test.cpp -DAT -DVERTICAL === Execution time: 7.136 s === g++ -std=c++0x -c test.cpp -DMETA_AT -DVERTICAL === Execution time: 5.835 s === g++ -std=c++0x -c test.cpp -DAT -DMETA_AT -DVERTICAL === Execution time: 8.156 s [snip] There's now a tuple.benchmark.zip in boost vault under the variadic_templates directory. It uses the compiler's -ftime-report flag to report times. The zip file also contains a short makefile (suffix .mk).
The report shows a large difference between gcc4.4 and gcc4.5 in the HORIZONTAL implementation. It shows with 4.5 there's not nearly as large a difference compared to the VERTICAL implementation. -regards, Larry