[eigen] on CoreDeclarations |
[ Thread Index |
Date Index
| More lists.tuxfamily.org/eigen Archives
]
- To: eigen@xxxxxxxxxxxxxxxxxxx
- Subject: [eigen] on CoreDeclarations
- From: "Gael Guennebaud" <gael.guennebaud@xxxxxxxxx>
- Date: Thu, 28 Aug 2008 14:26:48 +0200
- Dkim-signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=gamma; h=domainkey-signature:received:received:message-id:date:from:to :subject:mime-version:content-type:content-transfer-encoding :content-disposition; bh=+nUpjqXsmf0WTKiYdtgu9z3dncmb/wQjXeCa4Ta/Nu4=; b=c+EitD8+y8qrZ0wLXmdf/3UsB9AKcleVi+U44KwK20hDIfgX2m12y+0GVSfzwjjt1z 3tKe27wPpcd7+RWyJOrmJaLXMUughmFHz6v8WtwqEv8g3TOuzCOa0eFmIrvMFdoD2miD jyCsH6TEj/dGkV5QJjnzZkk/0VHWibaRPn0eY=
- Domainkey-signature: a=rsa-sha1; c=nofws; d=gmail.com; s=gamma; h=message-id:date:from:to:subject:mime-version:content-type :content-transfer-encoding:content-disposition; b=RKGISNJdSbGCbitusLUE3X6W6hMB3YQOPVozQ7zhB3yLWo4iYEe7nWnzANdO5Da69v iln74Eswi13ryji501wFz8DbTzTgNwdUgjXEJ3pdYYw/+6e8I10hCvnXsJgtA+zfC0ZN KEstLAqnVwpNzsGIb/fSP3zzIIco3C/i+UPbU=
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.