[GHC] #14445: GC timing stats (e.g. mutator_elapsed_ns) decrease over time
GHC
ghc-devs at haskell.org
Thu Nov 9 21:15:30 UTC 2017
#14445: GC timing stats (e.g. mutator_elapsed_ns) decrease over time
-------------------------------------+-------------------------------------
Reporter: harendra | Owner: (none)
Type: bug | Status: new
Priority: normal | Milestone:
Component: Runtime | Version: 8.2.1
System |
Keywords: | Operating System: Unknown/Multiple
Architecture: | Type of failure: Debugging
Unknown/Multiple | information is incorrect
Test Case: | Blocked By:
Blocking: | Related Tickets:
Differential Rev(s): | Wiki Page:
-------------------------------------+-------------------------------------
See this measurement code here in the `gauge` benchmarking tool, which is
a clone of the criterion benchmarking tool.
: https://github.com/harendra-kumar/hs-
gauge/blob/f8c9bcd6ee03c3090f110664ff279a20f2da9130/Gauge/Measurement.hs#L315
. This code displays debug prints when the end time is lower than the
start time for `mutator_elapsed_ns`.
When we run this benchmark defined in https://github.com/harendra-kumar
/hs-gauge/blob/f8c9bcd6ee03c3090f110664ff279a20f2da9130/benchs/GCBug.hs
the following output is produced:
{{{
$ stack bench --benchmark-arguments "--quick"
gauge-0.1.3: benchmarks
Running 1 benchmarks...
Benchmark gcbug: RUNNING...
benchmarking streamingDecreased by: 25818791 : s = 59840178 e = 34021387
Decreased by: 22707134 : s = 76706673 e = 53999539
Decreased by: 4776100 : s = 96201146 e = 91425046
streaming time 50.00 ms
benchmarking pipesDecreased by: 12487955 : s = 153949495 e = 141461540
pipes time 50.00 ms
benchmarking conduitDecreased by: 5523916 : s = 310913002 e = 305389086
conduit time 50.00 ms
Benchmark gcbug: FINISH
}}}
Notice the "Decreased by" getting printed quite a few times. I have found
it to be more likely for these particular libraries i.e. streaming, pipes
and conduit; so I have used only these in the benchmarking file
`GCBug.hs`. I tried some other streaming libraries as well but it did not
occur often in those cases. In these cases it occurs almost every time. I
am running it on a macbook.
The repository is here: https://github.com/harendra-kumar/hs-gauge/tree
/gc-bug . The branch in the repo is `gc-bug`. You can run the benchmark
named `gcbug` using the command `stack bench --benchmark-arguments "--
quick"` to reproduce the output above.
--
Ticket URL: <http://ghc.haskell.org/trac/ghc/ticket/14445>
GHC <http://www.haskell.org/ghc/>
The Glasgow Haskell Compiler
More information about the ghc-tickets
mailing list