diff --git a/benchmarks/sparse_test.cpp b/benchmarks/sparse_test.cpp index 39e625103d1..029c8adce06 100644 --- a/benchmarks/sparse_test.cpp +++ b/benchmarks/sparse_test.cpp @@ -10,12 +10,12 @@ #include #ifdef HAVE_EIGEN3 +#include #include #include #include #include #include -#include using namespace shogun; using namespace Eigen; @@ -24,6 +24,7 @@ SGVector sg_m_apply(SGSparseMatrix m, SGVector { SGVector r(v.vlen); ASSERT(v.vlen==m.num_vectors); +#pragma omp parallel for for (index_t i=0; i v(size); v.set_const(1.0); Map map_v(v.vector, v.vlen); - clock_t start, end; + CTime time; SG_SPRINT("time\tshogun (s)\teigen3 (s)\n\n"); for (index_t t=0; t r(size); // sg starts - start=clock(); + time.start(); for (index_t i=0; i(end-start)/CLOCKS_PER_SEC; + float64_t sg_time = time.cur_time_diff(); Map map_r(r.vector, r.vlen); float64_t sg_norm=map_r.norm(); @@ -104,18 +103,16 @@ int main(int argc, char** argv) VectorXd eig_r(size); // eigen3 starts - start=clock(); + time.start(); for (index_t i=0; i(end-start)/CLOCKS_PER_SEC; + float64_t eig_time = time.cur_time_diff(); float64_t eig_norm=eig_r.norm(); //#endif // RUN_EIGEN SG_SPRINT("%d\t%lf\t%lf\n", t, sg_time, eig_time); - ASSERT(sg_time>eig_time); + //ASSERT(sg_time>eig_time); ASSERT(CMath::abs(sg_norm-eig_norm)<=CMath::MACHINE_EPSILON) SG_FREE(vec);