
#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