From 19d0720f68c2617f1b9b686d3884333b60ca75da Mon Sep 17 00:00:00 2001 From: Jonathan Wakely <jwakely@redhat.com> Date: Wed, 13 Nov 2024 16:47:04 +0000 Subject: [PATCH] libstdc++: Fix calculation of system time in performance tests The system_time() function used the wrong element of the splits array. Also add a comment about the units for time measurements. libstdc++-v3/ChangeLog: * testsuite/util/testsuite_performance.h (time_counter): Add comment about times. (time_counter::system_time): Use correct split value. --- libstdc++-v3/testsuite/util/testsuite_performance.h | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/libstdc++-v3/testsuite/util/testsuite_performance.h b/libstdc++-v3/testsuite/util/testsuite_performance.h index 4fd95b7e22a7..c2be9c8e8781 100644 --- a/libstdc++-v3/testsuite/util/testsuite_performance.h +++ b/libstdc++-v3/testsuite/util/testsuite_performance.h @@ -73,6 +73,9 @@ namespace __gnu_test class time_counter { private: + // All times are measured in clock ticks. + // There are CLOCKS_PER_SEC ticks per second. + // POSIX requires CLOCKS_PER_SEC == 1000000 so ticks == microseconds. clock_t elapsed_begin; clock_t elapsed_end; tms tms_begin; @@ -136,7 +139,7 @@ namespace __gnu_test std::size_t system_time() const - { return (tms_end.tms_stime - tms_begin.tms_stime) + splits[1]; } + { return (tms_end.tms_stime - tms_begin.tms_stime) + splits[2]; } }; class resource_counter -- GitLab