使用Eigen库执行:矩阵乘后赋值非常慢是什么原因。
#include
#include <Eigen/Core>
#include <Eigen/Dense>
#include
int main(int argc, char const *argv[])
{
Eigen::Matrix<double,Eigen::Dynamic,Eigen::Dynamic> mat(3000,3000);
mat.setZero();
std::chrono::high_resolution_clock::time_point t = std::chrono::high_resolution_clock::now();
mat = (mat * mat);
std::chrono::high_resolution_clock::time_point t2 = std::chrono::high_resolution_clock::now();
std::chrono::duration<double, std::milli> time =t2 -t;
std::cout<<time.count()<<" ms "<<std::endl;
return 0;
}
298201 ms
哪有乘完赋值给自己的?