Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <chrono>
- #include <iostream>
- #define NOW std::chrono::high_resolution_clock::now
- #define DURATION_CAST(x) \
- std::chrono::duration_cast<std::chrono::nanoseconds>(x).count()
- int main(int argc, char* argv[])
- {
- int n = atol(argv[1]);
- srand(time(nullptr));
- int* x = new int[n];
- int* y = new int[n];
- for (int i = 0; i < n; ++i)
- {
- x[i] = rand() / (RAND_MAX / 2);
- }
- int sum = 0;
- for (int i = 0; i < n; ++i)
- {
- sum += x[i];
- }
- std::cout << sum << std::endl;
- auto t0 = NOW();
- for (int i = 0; i < n; ++i)
- x[i] = 1;
- auto t1 = NOW();
- for (int i = 0; i < n; ++i)
- y[i] = 1;
- auto t2 = NOW();
- double dt1 = DURATION_CAST(t1 - t0);
- double dt2 = DURATION_CAST(t2 - t1);
- std::cout << "Average time: " << dt1 / n << " ns" << std::endl;
- std::cout << "Average time: " << dt2 / n << " ns" << std::endl;
- sum = 0;
- for (int i = 0; i < n; ++i)
- {
- sum += x[i] + y[i];
- }
- std::cout << sum << std::endl;
- delete[] x;
- delete[] y;
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment