Line | |
---|
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 | }
|
---|
Note:
See
TracBrowser
for help on using the repository browser.