https://gcc.gnu.org/g:d0d1830cc4b51c2890df7aa583375e3b398c4e06
commit r13-9237-gd0d1830cc4b51c2890df7aa583375e3b398c4e06 Author: Jonathan Wakely <jwak...@redhat.com> Date: Wed Nov 13 16:47:04 2024 +0000 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. (cherry picked from commit 19d0720f68c2617f1b9b686d3884333b60ca75da) Diff: --- 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 9ed9d7ce2899..4674d3f891ad 100644 --- a/libstdc++-v3/testsuite/util/testsuite_performance.h +++ b/libstdc++-v3/testsuite/util/testsuite_performance.h @@ -72,6 +72,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; @@ -135,7 +138,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