Proposals:Template Meta Programming Unrolling Loops: Difference between revisions
From KitwarePublic
Jump to navigationJump to search
(New page: __TOC__ = The Problem = Many classes in ITK perform for-loops of small number of elements whose size is known at compile time. These for loops are bottlenecks of performance. Computation...) |
No edit summary |
||
(2 intermediate revisions by the same user not shown) | |||
Line 10: | Line 10: | ||
= References = | = References = | ||
[http://en.wikipedia.org/wiki/Template_meta-programming Template Meta-Programming entry in the Wikipedia] | |||
= Observation = | |||
It turned out that gcc in -O3 manages to unroll many of the loops that we were targeting to unroll by using template Meta Programming. Therefore at this point, there is no visible benefit on investing in implementing this technique. |
Latest revision as of 18:13, 7 December 2007
The Problem
Many classes in ITK perform for-loops of small number of elements whose size is known at compile time. These for loops are bottlenecks of performance. Computation time can be improved by unrolling them at compilation time.
Proposal
Introduce Template Meta Programming techniques for unrolling loops in heavily used classes
References
Template Meta-Programming entry in the Wikipedia
Observation
It turned out that gcc in -O3 manages to unroll many of the loops that we were targeting to unroll by using template Meta Programming. Therefore at this point, there is no visible benefit on investing in implementing this technique.