Re: [eigen] Transform class performance and inconsistencies |

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

*To*: eigen@xxxxxxxxxxxxxxxxxxx*Subject*: Re: [eigen] Transform class performance and inconsistencies*From*: Jakob Schwendner <jakob.schwendner@xxxxxxx>*Date*: Mon, 17 Dec 2012 15:33:15 +0100*Organization*: DFKI

On 12/17/2012 02:27 PM, Christoph Hertzberg wrote:

On 17.12.2012 12:24, Jakob Schwendner wrote:ok, thanks for confirming this. The other strange case, that you cansee in mybenchmark is:For the record, I can't reproduce this using g++-4.7.1 (on 32bitlinux). I get the following timings (using Jacob's benchmark):

I also did not see any strange copies for the vector variants, thealigned variants all end with sth similar tomulps %xmm2, %xmm0 addps %xmm1, %xmm0 movaps %xmm0, (%eax) ret $4However, all variants where the result does not fit into a registerlead to a copy of the result (with aligned moves where possible,though), so either RVO is not optimal there, or not possible due toaliasing. And maybe that does not occur on 64bit machines, due to thehigher number of registers.

Still, the timings show that e.g. aligned Isometry * X could beoptimized to Projective * X in most cases (maybe unless the last lineof the Isometry is not stored explicitly)

As for the non-compiling vec3 = Projective * vec3 from your firstmail, I don't think this should be allowed, since for arbitraryProjective matrices you can't make any assumptions about the lastcomponent of the result.

Jakob

**References**:**Re: [eigen] Transform class performance and inconsistencies***From:*Jakob Schwendner

**Re: [eigen] Transform class performance and inconsistencies***From:*Gael Guennebaud

**Re: [eigen] Transform class performance and inconsistencies***From:*Jakob Schwendner

**Re: [eigen] Transform class performance and inconsistencies***From:*Christoph Hertzberg

**Messages sorted by:**[ date | thread ]- Prev by Date:
**Re: [eigen] Sign function** - Next by Date:
**[eigen] triangular solve** - Previous by thread:
**Re: [eigen] Transform class performance and inconsistencies** - Next by thread:
**[eigen] triangular solve**

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