From c46be3657c1b3568bc54f276bca00b0ace2151c7 Mon Sep 17 00:00:00 2001 From: WickedJack99 Date: Tue, 25 Mar 2025 16:10:50 +0100 Subject: [PATCH] Upload benchmark --- lab02/triad_bench.cpp | 38 ++++++++++++++++++++++++++++++++++++++ 1 file changed, 38 insertions(+) create mode 100644 lab02/triad_bench.cpp diff --git a/lab02/triad_bench.cpp b/lab02/triad_bench.cpp new file mode 100644 index 0000000..3115956 --- /dev/null +++ b/lab02/triad_bench.cpp @@ -0,0 +1,38 @@ +#include +#include +#include +#include + +std::vector B(1000000, 1); +std::vector C(1000000, 2); +std::vector D(1000000, 3); + +static double ownMethod(int n) { + std::vector A(n, 0); + + std::chrono::duration sumTime; + for (int i = 0; i < 20; ++i) { + auto startTime = std::chrono::system_clock::now(); + for (int i = 0; i < n; ++i) { + A[i] = B[i] + C[i] * D[i]; + } + // prevent the compiler from optimizing everything away + volatile double dummy = A[0]; + auto endTime = std::chrono::system_clock::now(); + sumTime += endTime - startTime; + } + double averageTime = sumTime.count() / 20; + return averageTime; +} + +int main() { + std::vector outcomes; + for (int i = 100; i < 1000000; i+=10) { + outcomes.push_back(ownMethod(i)); + } + std::ofstream MyFile("outcomes.csv"); + for (int j = 0; j < outcomes.size(); j++) { + MyFile << outcomes[j] << ","; + } + MyFile.close(); +} \ No newline at end of file