[GHC] #14052: Significant GHCi speed regression with :module and `let` in GHC 8.2.1
GHC
ghc-devs at haskell.org
Sat Jul 29 06:31:22 UTC 2017
#14052: Significant GHCi speed regression with :module and `let` in GHC 8.2.1
-------------------------------------+-------------------------------------
Reporter: RyanGlScott | Owner: (none)
Type: bug | Status: new
Priority: high | Milestone:
Component: GHCi | Version: 8.2.1-rc2
Resolution: | Keywords:
Operating System: Unknown/Multiple | Architecture:
Type of failure: Runtime | Unknown/Multiple
performance bug | Test Case:
Blocked By: | Blocking:
Related Tickets: | Differential Rev(s):
Wiki Page: |
-------------------------------------+-------------------------------------
Comment (by RyanGlScott):
Note that in `GenExample`, the crucial bit is here:
{{{#!hs
genExample :: Int -> IO ()
genExample i = putStr $ unlines
[ ":m *Foo"
, "example : \"expr" ++ show i ++ "\""
, "let foo = it"
, "\"marker\""
, "let it = foo"
]
}}}
Both the `:m *Foo` part, as well as `let foo = it`/`let it = foo`, are
crucial to triggering the slowdown. If one of them is commented out, then
GHCi 8.2.1 achieves parity in speed with 8.0.2.
--
Ticket URL: <http://ghc.haskell.org/trac/ghc/ticket/14052#comment:1>
GHC <http://www.haskell.org/ghc/>
The Glasgow Haskell Compiler
More information about the ghc-tickets
mailing list