Hari Sundar
2011-03-13 23:48:11 UTC
Dear All,
I am new to Eigen and was using blitz++ for matrix and vector classes until
now. Since it is no longer being developed and I liked what I read about
eigen, I decided to switch. To start I took one of my standard pieces of
code which does an optimization, the cost function mainly involving
projection of points. An average optimization of the code using blitz++
takes around 100-200 ms. I converted the code to use Eigen (without making
use of any special functions which Eigen offers). I am only using
Matrix/Vector storage, matrix products and addition and data access. The
Eigen version for the same dataset which takes 120 ms with blitz takes
slow, but on profiling, it looks like it is uniformly slow. For example a
simple 4x4 * 4*1 multiplication takes around 0.5msec.
Any suggestions on what might be going wrong, or should I stick with blitz++
?
best,
Hari
I am new to Eigen and was using blitz++ for matrix and vector classes until
now. Since it is no longer being developed and I liked what I read about
eigen, I decided to switch. To start I took one of my standard pieces of
code which does an optimization, the cost function mainly involving
projection of points. An average optimization of the code using blitz++
takes around 100-200 ms. I converted the code to use Eigen (without making
use of any special functions which Eigen offers). I am only using
Matrix/Vector storage, matrix products and addition and data access. The
Eigen version for the same dataset which takes 120 ms with blitz takes
900secs using Eigen. The results are the same, so my code is correct.
I initially thought there was some step in my code which was especiallyslow, but on profiling, it looks like it is uniformly slow. For example a
simple 4x4 * 4*1 multiplication takes around 0.5msec.
Any suggestions on what might be going wrong, or should I stick with blitz++
?
best,
Hari