Re: [eigen] matrix::linspace

[ Thread Index | Date Index | More Archives ]

Oops, no worry, I had read your email yesterday but forgot to reply to
it. I hadn't tested your patch, but everything you wrote sounded
reasonable, the idea of using a meta selector here, etc.


2010/1/25 Hauke Heibel <hauke.heibel@xxxxxxxxxxxxxx>:
> Please ignore the last patch. It's buggy and I am working on a
> solution. If you already wasted time, trying it out - sorry.
> - Hauke
> On Sun, Jan 24, 2010 at 10:54 PM, Hauke Heibel
> <hauke.heibel@xxxxxxxxxxxxxx> wrote:
>> On Sun, Jan 24, 2010 at 8:16 PM, Benoit Jacob <jacob.benoit.1@xxxxxxxxx> wrote:
>>> 2010/1/24 Hauke Heibel <hauke.heibel@xxxxxxxxxxxxxx>:
>>>> 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!
>> I don't really understand what is going on nor why it is. I can tell
>> that the ASM code is different and not optimal but I do not know
>> exactly why. With some tinkering, I was able to create a fix which you
>> find attached.
>> In short, it does the following. The unaligned paths are once more
>> wrapped into a proxy object which is specialized for cases where the
>> unaligned path is non-existent (of zero length). We can make use of it
>> in some cases, in particular, when the destination is aligned which we
>> do already know at compile time. That approach allows MSVC to perform
>> the correct optimization.
>> I did not push since it's quite a low-level modification.
>> - Hauke

Mail converted by MHonArc 2.6.19+