[GHC] #14880: GHC panic: updateRole
GHC
ghc-devs at haskell.org
Thu Aug 2 09:12:30 UTC 2018
#14880: GHC panic: updateRole
-------------------------------------+-------------------------------------
Reporter: RyanGlScott | Owner: goldfire
Type: bug | Status: new
Priority: normal | Milestone: 8.8.1
Component: Compiler (Type | Version: 8.2.2
checker) |
Resolution: | Keywords: TypeInType
Operating System: Unknown/Multiple | Architecture:
Type of failure: Compile-time | Unknown/Multiple
crash or panic | Test Case:
Blocked By: | Blocking:
Related Tickets: #15076 | Differential Rev(s): Phab:D4769
Wiki Page: |
-------------------------------------+-------------------------------------
Comment (by tdammers):
New results: following the suggestion to go back to the (incorrect)
baseline before the patch, and then *only* rewriting
`tyCoVarsOf{Type|Co}[s]` in terms of `VarSet`, thus skipping the detour
via `FV`, I compared three different versions:
- the pre-patch baseline, available on the `wip/T14880-baseline` branch on
git.haskell.org;
- the patch, applied fully, available on the `wip/T14880` branch
- the baseline version with the `tvCoVarsOf...` functions rewritten in
terms of `VarSets`, copying the logic from the `FV` flavors, available on
the `wip/T14880-just-tvs` branch.
The expectation was that `-just-tvs` would perform better than the
baseline, because it skips the additional machinery of `FV`; however, it
turns out that it's actually slower and allocates more.
Detailed timing results:
{{{
** Baseline **
Command being timed: "/home/tobias/well-typed/devel/ghc-
phab/inplace/bin/ghc-stage2 -c testsuite/tests/perf/compiler/T5631.hs
-fforce-recomp +RTS -rlogs/T14880-baseline.ticky -RTS"
User time (seconds): 3.17
System time (seconds): 0.08
Percent of CPU this job got: 99%
Elapsed (wall clock) time (h:mm:ss or m:ss): 0:03.27
Maximum resident set size (kbytes): 292764
Average resident set size (kbytes): 0
Major (requiring I/O) page faults: 0
Minor (reclaiming a frame) page faults: 42788
Voluntary context switches: 392
Involuntary context switches: 18
** Just VarSet **
Command being timed: "/home/tobias/well-typed/devel/ghc-
phab/inplace/bin/ghc-stage2 -c testsuite/tests/perf/compiler/T5631.hs
-fforce-recomp +RTS -rlogs/T14880-just-tvs.ticky -RTS"
User time (seconds): 3.28
System time (seconds): 0.06
Percent of CPU this job got: 91%
Elapsed (wall clock) time (h:mm:ss or m:ss): 0:03.64
Maximum resident set size (kbytes): 294916
Average resident set size (kbytes): 0
Major (requiring I/O) page faults: 6
Minor (reclaiming a frame) page faults: 42784
Voluntary context switches: 452
Involuntary context switches: 20
** 14880 patch **
Command being timed: "/home/tobias/well-typed/devel/ghc-
phab/inplace/bin/ghc-stage2 -c testsuite/tests/perf/compiler/T5631.hs
-fforce-recomp +RTS -rlogs/T14880.ticky -RTS"
User time (seconds): 3.26
System time (seconds): 0.07
Percent of CPU this job got: 95%
Elapsed (wall clock) time (h:mm:ss or m:ss): 0:03.49
Maximum resident set size (kbytes): 295684
Average resident set size (kbytes): 0
Major (requiring I/O) page faults: 11
Minor (reclaiming a frame) page faults: 43047
Voluntary context switches: 422
Involuntary context switches: 17
}}}
--
Ticket URL: <http://ghc.haskell.org/trac/ghc/ticket/14880#comment:74>
GHC <http://www.haskell.org/ghc/>
The Glasgow Haskell Compiler
More information about the ghc-tickets
mailing list