犰狳元素明智的乘法速度

时间:2013-05-24 15:05:12

标签: c++ armadillo

犰狳中元素明智的乘法(%)速度取决于是否安装了LAPACK / BLAS?我目前正在运行犰狳而没有安装它们,速度很糟糕。 好的,这是最简单的代码,需要永恒计算

    #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;
  }

2 个答案:

答案 0 :(得分:1)

确保在编译器设置中启用了优化标志(例如,在GCC或Clang中,使用-O2或-O3)。 Armadillo使用template metaprogramming,并且像任何C ++模板库一样,这绝对需要在编译器中启用优化才能生效。例如,这也适用于C ++模板库,例如Boost。

答案 1 :(得分:0)

为什么要两次计算exp(X)?你没有对元素乘法进行基准测试;您显然是基准exp()。另外,为什么不使用expmat()expmat_sym()