Home | History | Annotate | Download | only in bench
      1 // g++ -O3 -DNDEBUG benchmarkX.cpp -o benchmarkX && time ./benchmarkX
      2 
      3 #include <iostream>
      4 #include <Eigen/Core>
      5 
      6 using namespace std;
      7 using namespace Eigen;
      8 
      9 #ifndef VECTYPE
     10 #define VECTYPE VectorXLd
     11 #endif
     12 
     13 #ifndef VECSIZE
     14 #define VECSIZE 1000000
     15 #endif
     16 
     17 #ifndef REPEAT
     18 #define REPEAT 1000
     19 #endif
     20 
     21 int main(int argc, char *argv[])
     22 {
     23 	VECTYPE I = VECTYPE::Ones(VECSIZE);
     24 	VECTYPE m(VECSIZE,1);
     25 	for(int i = 0; i < VECSIZE; i++)
     26 	{
     27 		m[i] = 0.1 * i/VECSIZE;
     28 	}
     29 	for(int a = 0; a < REPEAT; a++)
     30 	{
     31 		m = VECTYPE::Ones(VECSIZE) + 0.00005 * (m.cwise().square() + m/4);
     32 	}
     33 	cout << m[0] << endl;
     34 	return 0;
     35 }
     36