[GHC] #13220: Performance regressions in testsuite from join points
GHC
ghc-devs at haskell.org
Sun Mar 19 16:41:11 UTC 2017
#13220: Performance regressions in testsuite from join points
-------------------------------------+-------------------------------------
Reporter: lukemaurer | Owner: lukemaurer
Type: bug | Status: new
Priority: highest | Milestone: 8.2.1
Component: Compiler | Version: 8.1
Resolution: | Keywords: JoinPoints
Operating System: Unknown/Multiple | Architecture:
| Unknown/Multiple
Type of failure: None/Unknown | Test Case:
Blocked By: | Blocking:
Related Tickets: | Differential Rev(s):
Wiki Page: |
-------------------------------------+-------------------------------------
Comment (by rwbarton):
Okay, found the REAL culprit. It's embarrassingly simple, and not at all
what I had been looking for.
Running `ghc` with `-dcore-lint -v` and grepping for `Core Linted result`
revealed the issue, this new line in `simplifyPgmIO`:
{{{#!diff
Err.dumpIfSet_dyn dflags Opt_D_dump_occur_anal "Occurrence
analysis"
(pprCoreBindings tagged_binds);
+ lintPassResult hsc_env CoreOccurAnal tagged_binds;
-- Get any new rules, and extend the rule base
-- See Note [Overall plumbing for rules] in Rules.hs
}}}
We now run Core Lint twice per simplifier iteration, which in my sample
program amounted to running Core Lint 50% more times overall. That's
rather expensive.
--
Ticket URL: <http://ghc.haskell.org/trac/ghc/ticket/13220#comment:28>
GHC <http://www.haskell.org/ghc/>
The Glasgow Haskell Compiler
More information about the ghc-tickets
mailing list