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

[ Thread Index | Date Index | More Archives ]

Should we then do the same in other places? I mean, this applies to
LinearVectorizedTraversal, but how about the other traversals? They
all have similar code.

I'll let the MSVC guys investigate it if they feel like it ;)


2010/2/26 Hauke Heibel <hauke.heibel@xxxxxxxxxxxxxx>:
> Applied and thank you a lot for your help - its highly appreciated!
> - Hauke
> On Fri, Feb 26, 2010 at 6:27 PM, Eamon Nerbonne <emn13@xxxxxxxxxxxx> wrote:
>> As mentioned in the forums
>> (
>> 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

Mail converted by MHonArc 2.6.19+