Skip to content

#46 TMP in FieldVector considered harmful

Metadata

Property Value
Reported by Oliver Sander (oliver.sander@tu-dresden.de)
Reported at Nov 14, 2005 14:10
Type Feature Request
Version Git (pre2.4) [autotools]
Operating System Unspecified / All
Last edited by Oliver Sander (oliver.sander@tu-dresden.de)
Last edited at Aug 23, 2006 08:29
Closed by Oliver Sander (oliver.sander@tu-dresden.de)
Closed at Oct 26, 2006 13:59
Closed in version Unknown
Resolution Implemented
Comment The last TMP code has been removed from fvector.hh in revision 4759.

Description

I propose to remove the template-metaprogramming stuff from FieldVector and FieldMatrix. My reasons are:

  • The code gets harder to read and to maintain. Even more so since it now also contains expression templates
  • It increases compile time and space requirements
  • It probably does not make the code more efficient.
    Compilers with a parser good enough to parse TMP should have an optimizer able to unroll simple loops.
  • FieldVectors with more than 500 entries (rare, but why not?) cause compiler errors.

Of course, the second and third point need to be verified experimentally before deciding about this issue.