[GHC] #14519: Exponential runtime performance regression in GHC 8.2 + Data.Text.Lazy + Text.RE.TDFA

GHC ghc-devs at haskell.org
Tue Jan 16 10:07:45 UTC 2018


#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


More information about the ghc-tickets mailing list