]> git.ipfire.org Git - thirdparty/gcc.git/commitdiff
libstdc++: Fix calculation of system time in performance tests
authorJonathan Wakely <jwakely@redhat.com>
Wed, 13 Nov 2024 16:47:04 +0000 (16:47 +0000)
committerJonathan Wakely <redi@gcc.gnu.org>
Wed, 13 Nov 2024 20:21:38 +0000 (20:21 +0000)
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

index 4fd95b7e22a7d777a0ab78d9b7729bedaeebd7bf..c2be9c8e8781c4b60c81edc71a63f2b52f5f41af 100644 (file)
@@ -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