// comparison of matrix products // armadillo vs. plain loop // Optimize as well as you can, e.g. //g++ -O3 -funroll-all-loops arma_matrix_speed2.cpp -L/usr/lib64/atlas -lcblas #include #include #include using namespace std; using namespace arma; int main() { clock_t tic,toc; double time_unit=static_cast(CLOCKS_PER_SEC); unsigned n=500,m1=500,m2=100; // armadillo mat A = randu(n,m1); // mat is double mat B = randu(m1,m2); mat C = randu(m2,n); mat D(n,n); tic=clock(); D = A*B*C; toc=clock(); cout <<" armadillo timing = "<< (toc-tic)/time_unit<<" sec"<(RAND_MAX); for (unsigned i = 0; i