benchmark.cpp
Go to the documentation of this file.
1 // g++ -O3 -DNDEBUG -DMATSIZE=<x> benchmark.cpp -o benchmark && time ./benchmark
2 
3 #include <iostream>
4 
5 #include <Eigen/Core>
6 
7 #ifndef MATSIZE
8 #define MATSIZE 3
9 #endif
10 
11 using namespace std;
12 using namespace Eigen;
13 
14 #ifndef REPEAT
15 #define REPEAT 40000000
16 #endif
17 
18 #ifndef SCALAR
19 #define SCALAR double
20 #endif
21 
22 int main(int argc, char *argv[])
23 {
26  for(int i = 0; i < MATSIZE; i++)
27  for(int j = 0; j < MATSIZE; j++)
28  {
29  m(i,j) = (i+MATSIZE*j);
30  }
31  asm("#begin");
32  for(int a = 0; a < REPEAT; a++)
33  {
34  m = Matrix<SCALAR,MATSIZE,MATSIZE>::Ones() + 0.00005 * (m + (m*m));
35  }
36  asm("#end");
37  cout << m << endl;
38  return 0;
39 }
Matrix3f m
#define MATSIZE
Definition: benchmark.cpp:8
#define I
Definition: main.h:112
Namespace containing all symbols from the Eigen library.
Definition: jet.h:637
Definition: BFloat16.h:88
#define REPEAT
Definition: benchmark.cpp:15
The matrix class, also used for vectors and row-vectors.
int main(int argc, char *argv[])
Definition: benchmark.cpp:22
std::ptrdiff_t j


gtsam
Author(s):
autogenerated on Tue Jul 4 2023 02:33:57