[eigen] Eigen3 ->Eigen2 performance regression: patch.

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

As mentioned in the forums (http://forum.kde.org/viewtopic.php?f=74&t=85488&sid=56568a50ee5f70d17993d387dedd9c63&start=30#p149344) on microsoft's compiler there's a performance regression in eigen3 concerning subtraction of VectorXd's (and probably other matrices with other cheap operations too).  The appropriate ei_assign_impl isn't always inlined, and since the operation is otherwise cheap; the function call overhead is quite significant.  Gcc seems to inline the function; but MSC does not when vectorization is on (EIGEN_DONT_VECTORIZE not defined).  Replacing the "inline" keyword with the EIGEN_STRONG_INLINE macro resolves the problem.

Attached: patch.

--eamon@xxxxxxxxxxxx - Tel#:+31-6-15142163

Attachment: eigen_rev2533_eamon.patch
Description: Binary data

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