Re: [eigen] matrix::linspace

[ Thread Index | Date Index | More 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!


Mail converted by MHonArc 2.6.19+