| loop i | 235ms | 49995000 | |
| loop i/3.0/3.0/3.0 | 3405ms | 1851666,667 | |
| loop i*(a)*(a)*(a) | 220ms | 1851666,667 | a = 1.0/3.0 |
| loop i*0.33333*0.333..*0.333.. | 220ms | 1851666,667 | |
| loop i/2.0/2.5/5.0 | 2076ms | 1999800 | |
| loop i*0.5*0.4*0.2 | 168ms | 1999800 | |
| loop i*3.0 + i*3.0 + i*3.0 | 247ms | 449955000 | |
| loop i+i+i + i+i+i+ i+i+i | 166ms | 449955000 | |
| loop i*2+i*3+i*4 | 161ms | 449955000 | |
| loop i+i+ i+i+i+ i+i+i+i | 166ms | 449955000 | |
| loop i*i*i+i*i*i+i*i*i | 338ms | 1,21408E+11 | |
| loop pow(i,2)+pow(i,3)+pw(i,4) | 22505ms | 2,00E+19 | |
| loop sqrt(i)+sqrt(i+1)+sqrt(i+2) | 4063ms | 2000148,383 |
const int SIZE = 10000; const int RUNS = 10000; double* arry = new double[SIZE]; Stopwatch^ watch; double sum; watch = Stopwatch::StartNew(); sum = 0; for (int irun = 0; irun < RUNS; irun++) { int i=0.0; for (auto it = arry; it != &arry[SIZE]; it++) { *it = i/3.0/3.0/3.0; i++; } } watch->Stop(); for (auto it = arry; it != &arry[SIZE]; it++) { sum += *it; } Console::WriteLine("loop i/3.0/3.0/3.0 : \t{0}ms \t({1})", watch->ElapsedMilliseconds, sum); Intel(R) Core(TM) i7 CPU Q 740 @1.73GHz RAM 8 GM Windows 7 x64 sp1 Visual Studio 2012 /GS /GL /analyze- /W3 /Gy /Zc:wchar_t /Zi /O2 /Fd"Release\vc110.pdb" /fp:precise /D "WIN32" /D "NDEBUG" /D "_CONSOLE" /D "_UNICODE" /D "UNICODE" /errorReport:prompt /WX- /Zc:forScope /Oy- /clr /FU | ||
No comments:
Post a Comment