nonmoving_gc_elapsed_ns stat seems wrong
nonmoving_gc_elapsed_ns stat seems wrong. I noticed that in the output of
+RTS -s, for example, the total concurrent nonmoving GC time is greater than the CPU time.
Tot time (elapsed) Avg pause Max pause Gen 1 concurrent, 0.328s 1.185s 0.1693s 0.7207s
Shouldn't elapsed always be less than or equal to total time, because total time is the sum of all CPUs' local elapsed times?
Looking at the code, it appears we use
getProcessCPUTime() to compute the start and end timestamps for
I think that should be
Steps to reproduce
Compile a program with
-rtsopts, run it with the nonmoving GC, and observe a stats dump:
+RTS --nonmoving-gc -s
Elapsed time should be less than or equal to total time.
- GHC version used: 9.2