diff options
author | Stanislaw Halik <sthalik@misaki.pl> | 2019-03-03 21:09:10 +0100 |
---|---|---|
committer | Stanislaw Halik <sthalik@misaki.pl> | 2019-03-03 21:10:13 +0100 |
commit | f0238cfb6997c4acfc2bd200de7295f3fa36968f (patch) | |
tree | b215183760e4f615b9c1dabc1f116383b72a1b55 /eigen/bench/bench_reverse.cpp | |
parent | 543edd372a5193d04b3de9f23c176ab439e51b31 (diff) |
don't index Eigen
Diffstat (limited to 'eigen/bench/bench_reverse.cpp')
-rw-r--r-- | eigen/bench/bench_reverse.cpp | 84 |
1 files changed, 0 insertions, 84 deletions
diff --git a/eigen/bench/bench_reverse.cpp b/eigen/bench/bench_reverse.cpp deleted file mode 100644 index 1e69ca1..0000000 --- a/eigen/bench/bench_reverse.cpp +++ /dev/null @@ -1,84 +0,0 @@ - -#include <iostream> -#include <Eigen/Core> -#include <bench/BenchUtil.h> -using namespace Eigen; - -#ifndef REPEAT -#define REPEAT 100000 -#endif - -#ifndef TRIES -#define TRIES 20 -#endif - -typedef double Scalar; - -template <typename MatrixType> -__attribute__ ((noinline)) void bench_reverse(const MatrixType& m) -{ - int rows = m.rows(); - int cols = m.cols(); - int size = m.size(); - - int repeats = (REPEAT*1000)/size; - MatrixType a = MatrixType::Random(rows,cols); - MatrixType b = MatrixType::Random(rows,cols); - - BenchTimer timerB, timerH, timerV; - - Scalar acc = 0; - int r = internal::random<int>(0,rows-1); - int c = internal::random<int>(0,cols-1); - for (int t=0; t<TRIES; ++t) - { - timerB.start(); - for (int k=0; k<repeats; ++k) - { - asm("#begin foo"); - b = a.reverse(); - asm("#end foo"); - acc += b.coeff(r,c); - } - timerB.stop(); - } - - if (MatrixType::RowsAtCompileTime==Dynamic) - std::cout << "dyn "; - else - std::cout << "fixed "; - std::cout << rows << " x " << cols << " \t" - << (timerB.value() * REPEAT) / repeats << "s " - << "(" << 1e-6 * size*repeats/timerB.value() << " MFLOPS)\t"; - - std::cout << "\n"; - // make sure the compiler does not optimize too much - if (acc==123) - std::cout << acc; -} - -int main(int argc, char* argv[]) -{ - const int dynsizes[] = {4,6,8,16,24,32,49,64,128,256,512,900,0}; - std::cout << "size no sqrt standard"; -// #ifdef BENCH_GSL -// std::cout << " GSL (standard + double + ATLAS) "; -// #endif - std::cout << "\n"; - for (uint i=0; dynsizes[i]>0; ++i) - { - bench_reverse(Matrix<Scalar,Dynamic,Dynamic>(dynsizes[i],dynsizes[i])); - bench_reverse(Matrix<Scalar,Dynamic,1>(dynsizes[i]*dynsizes[i])); - } -// bench_reverse(Matrix<Scalar,2,2>()); -// bench_reverse(Matrix<Scalar,3,3>()); -// bench_reverse(Matrix<Scalar,4,4>()); -// bench_reverse(Matrix<Scalar,5,5>()); -// bench_reverse(Matrix<Scalar,6,6>()); -// bench_reverse(Matrix<Scalar,7,7>()); -// bench_reverse(Matrix<Scalar,8,8>()); -// bench_reverse(Matrix<Scalar,12,12>()); -// bench_reverse(Matrix<Scalar,16,16>()); - return 0; -} - |