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. --- Tested x86_64-linux. Pushed to trunk. 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 4fd95b7e22a..c2be9c8e878 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 -- 2.47.0