Re: [eigen] matrix::linspace

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


2010/1/24 Hauke Heibel <hauke.heibel@xxxxxxxxxxxxxx>:
> I put the function calls in EIGEN_DONT_INLINE functions and ran
> everything again but still see no improvement... But I've found
> something. In
>
> ei_assign_impl<Derived1, Derived2, LinearVectorizedTraversal,
> NoUnrolling>::run()
>
> there are three parts - assigning unaligned start, assigning aligned
> middle and finally assigning unaligned end. When I comment out the
> unaligned sections, I get
>
> vec: 791.646 ms
> lin: 1796.26 ms

Now we're talking!

>
> which is nice and reasonable. So, MSVC has an optimization issue over
> here. In my particular case, the unaligned cases are anyways empty and
> skipping them does not hurt.

This could then be quite far reaching: this path in Assign.h is used
for much more than just this particular functor, so this is really
worth understanding and fixing / working around!

Benoit



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