![]() Registered Member ![]()
|
Hello everyone.
I am in process of implementing mesh deformations algorithm. But i am having some performance issues: Here is the code:
qnt.transposeInPlace(); is a (9,1) Matrix, which i try to transpose. It seems to slow down the loop quite dramatically, is this normal behavior, or is there an optimization procedure? I am using Visual-studio 2013 ( 120 toolset ); Thanks! |
![]() Moderator ![]()
|
Please, use VectorXf for vectors, and then simply do to fully exploit Eigen:
AqqInverse += qT * qT.transpose(); Also, do not benchmark in "debug" mode ![]() |
![]() Registered Member ![]()
|
Thanks, that helped in a way. But when i try to use VectorXf instead of MAtrixXf , i get worse performance.
I do test everything in release build. Why would this be the case? Also using .noalias() helped quite bit "AqqInverse.noalias() += qT * qT.transpose();" |
![]() Moderator ![]()
|
Hm, strange because I observe a x6 speedup. You can even get higher performance by assembling a larger matrix, and do a big matrix-matrix product:
I get:
|
Registered users: Bing [Bot], claydoh, Google [Bot], rblackwell, Yahoo [Bot]