
#14519: Exponential runtime performance regression in GHC 8.2 + Data.Text.Lazy + Text.RE.TDFA -------------------------------------+------------------------------------- Reporter: ntc2 | Owner: tdammers Type: bug | Status: new Priority: normal | Milestone: 8.4.1 Component: Compiler | Version: 8.2.2 Resolution: | Keywords: Operating System: Unknown/Multiple | Architecture: | Unknown/Multiple Type of failure: Runtime | Test Case: performance bug | https://github.com/ntc2/ghc-8.2.1 | -regex-lazy-text- | bug/tree/07b7bb32c6e90e8f2d2eada4b59943f37e632d53 Blocked By: | Blocking: Related Tickets: #13745, #14564 | Differential Rev(s): Wiki Page: | -------------------------------------+------------------------------------- Comment (by tdammers):
It it easy to repro? I don't see precise instructions above.
It's a bit elaborate; what I did is roughly this: 1. Set up a new cabal sandbox 2. Attempt to install `regex-tdfa-text` and its dependencies, using GHC HEAD, and with `-ticky` enabled. 3. Step 2 will fail due to several dependencies no longer compiling under GHC 8.2. Do whatever it takes to convince cabal otherwise: `--allow-newer` works for most, but for a few libraries, I had to check out the sources and install from the local source checkout. I started this was before the 8.2 release though, so it's possible that all the dependencies install cleanly by now. 4. Then inside the sandbox, compile and run an example that triggers the problematic behavior. I used a trimmed-down version of [https://ghc.haskell.org/trac/ghc/attachment/ticket/14519/Main.hs], feeding it the 30000-line example attached to this ticket. -- Ticket URL: http://ghc.haskell.org/trac/ghc/ticket/14519#comment:22 GHC http://www.haskell.org/ghc/ The Glasgow Haskell Compiler