sicortex
[OpenFOAM-1.5.x.git] / applications / test / speed / speedTest.C
blob052514359190204cbf8d9cab1fab1470461f9f2d
1 #include "primitiveFields.H"
2 #include "cpuTime.H"
3 #include "IOstreams.H"
5 using namespace Foam;
7 int main()
9     const label nIter = 10;
10     const label size = 10000000;
12     double* f1 = new double[size];
13     double* f2 = new double[size];
14     double* f3 = new double[size];
15     double* f4 = new double[size];
17     for (register label i=0; i<size; i++)
18     {
19         f1[i] = 1.0;
20         f2[i] = 1.0;
21         f3[i] = 1.0;
22     }
24     cpuTime executionTime1;
26     for (int j=0; j<nIter; j++)
27     {
28         for (register label i=0; i<size; i++)
29         {
30             f4[i] = f1[i] + f2[i] - f3[i];
31         }
32     }
34     Info<< "ExecutionTime = "
35         << executionTime1.elapsedCpuTime()
36         << " s\n" << endl;
38     Info << f4[1] << endl << endl;
41     scalarField sf1(size, 1.0), sf2(size, 1.0), sf3(size, 1.0), sf4(size);
43     cpuTime executionTime2;
45     for (register int j=0; j<nIter; j++)
46     {
47         sf4 = sf1 + sf2 - sf3;
48         //sf4 = sf1;
49         //sf4 += sf2;
50         //sf4 -= sf3;
51     }
53     Info<< "ExecutionTime = "
54         << executionTime2.elapsedCpuTime()
55         << " s\n" << endl;
57     Info << sf4[1] << endl << endl;
60     vectorField 
61         vf1(size, vector::one),
62         vf2(size, vector::one),
63         vf3(size, vector::one),
64         vf4(size);
66     cpuTime executionTime3;
68     for (register int j=0; j<nIter; j++)
69     {
70         vf4 = vf1 + vf2 - vf3;
71     }
73     Info<< "ExecutionTime = "
74         << executionTime3.elapsedCpuTime()
75         << " s\n" << endl;
77     Info << vf4[1] << endl << endl;
79     cpuTime executionTime4;
81     scalarField sf11(size, 1.0), sf12(size, 1.0), sf13(size, 1.0), sf14(size);
82     scalarField sf21(size, 1.0), sf22(size, 1.0), sf23(size, 1.0), sf24(size);
83     scalarField sf31(size, 1.0), sf32(size, 1.0), sf33(size, 1.0), sf34(size);
85     for (register int j=0; j<nIter; j++)
86     {
87         sf14 = sf11 + sf12 - sf13;
88         sf24 = sf21 + sf22 - sf23;
89         sf34 = sf31 + sf32 - sf33;
90     }
92     Info<< "ExecutionTime = "
93         << executionTime4.elapsedCpuTime()
94         << " s\n" << endl;
96     Info << sf14[1] << sf24[1] << sf34[1] << endl << endl;