[eigen] on CoreDeclarations

[ Thread Index | Date Index | More lists.tuxfamily.org/eigen Archives ]


Hi list,

in order to speed up compilation, in Eigen we also have a tight
CoreDeclarations header file which only provides the minimum to be
able to use the Matrix types in your class declarations:

#include <CoreDeclarations>
struct Foo
{
  Matrix3f m_matrix;
  Matrix3f getMatrix() const;
  setMatrix(const& Matrix3f);
};

after some benchmarking of GCC (4.2), it appears this is slightly
worth it only if we disable the support of complex types in
CoreDeclarations. Indeed most of the time is spent parsing the header
file:
#include <complex>
.... like 50 % of the whole Eigen's Core module !!!!

Moreover, the real technique to speed up the parsing of header files
is to use precompiled headers. Using precompiled header on Eigen/Core
is much faster than using a very tight CoreDeclaration header without
support of std::complex.  With precompiled headers, there is no
advantage at all to use a tight CoreDeclaration header.

To conclude, even though it is me who suggested that idea, I would
suggest to remove this file ?

gael.



Mail converted by MHonArc 2.6.19+ http://listengine.tuxfamily.org/