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

Reply via email to