Proposals:Template Meta Programming Unrolling Loops: Difference between revisions

From KitwarePublic
Jump to navigationJump to search
No edit summary
 
Line 12: Line 12:


[http://en.wikipedia.org/wiki/Template_meta-programming  Template Meta-Programming entry in the Wikipedia]
[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.