From 89318eaf4ccb674028c82eed57c130a61a5e4c6e Mon Sep 17 00:00:00 2001 From: Stedd Date: Sun, 1 Dec 2024 16:52:23 +0100 Subject: [PATCH] added stress testing --- days/day01.cpp | 2 +- main.cpp | 23 ++++++++++++++++++----- 2 files changed, 19 insertions(+), 6 deletions(-) diff --git a/days/day01.cpp b/days/day01.cpp index 80399f0..6916900 100644 --- a/days/day01.cpp +++ b/days/day01.cpp @@ -187,5 +187,5 @@ void day01::Part2() { sum += number * occurrence_map[number]; } - printf("Sum of all occurrence pairs is: %d\n", sum); + //printf("Sum of all occurrence pairs is: %d\n", sum); } diff --git a/main.cpp b/main.cpp index a2595e2..db00e56 100644 --- a/main.cpp +++ b/main.cpp @@ -5,9 +5,22 @@ int main() { - const auto startTime = std::chrono::high_resolution_clock::now(); - day01::Part2(); - const auto endTime = std::chrono::high_resolution_clock::now(); - const std::chrono::duration diff = endTime - startTime; - std::cout << "Execution time: " << diff.count() * 1e6 << " μs" << std::endl; + double lowest = 10000; + double totalTime = 0; + constexpr int cycles = 10000; + for (int i = 1; i <= cycles; i++) + { + const auto startTime = std::chrono::high_resolution_clock::now(); + day01::Part2(); + const auto endTime = std::chrono::high_resolution_clock::now(); + const std::chrono::duration diff = endTime - startTime; + + totalTime += diff.count(); + if (diff.count() < lowest) + { + lowest = diff.count(); + } + } + const double average = totalTime / cycles; + std::cout << "Execution time avg: " << average * 1e6 << " μs. Lowest: " << lowest * 1e6 << " μs" << std::endl; }