armadillo中的元素乘法(%)速度是否取决于是否安装了LAPACK/BLAS?我目前正在运行没有安装它们的armadillo,速度很糟糕。好的,这是最简单的代码,计算起来需要很长时间
#include <iostream>
#include "conio.h"
#include "armadillo"
using namespace arma;
using namespace std;
int main(int argc, char** argv)
{
int n=250;
mat X=ones(n,n);
mat quan;
for (int xi=1;xi<=256;xi++)
{
quan = exp(X)%exp(X);
}
getch();
return 0;
}发布于 2013-05-25 11:09:06
确保您的编译器设置中启用了优化标志(例如,在GCC或Clang中,使用-O2或-O3)。Armadillo使用template metaprogramming,就像任何C++模板库一样,这绝对需要在编译器中启用优化才能有效。例如,这也适用于Boost等C++模板库。
发布于 2017-06-30 10:36:52
为什么要计算两次exp(X)?您不是在对元素乘法进行基准测试;您显然是在对exp()进行基准测试。另外,为什么不使用expmat()或expmat_sym()
https://stackoverflow.com/questions/16738108
复制相似问题