
#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