[GHC] #14519: Exponential runtime performance regression in GHC 8.2 + Data.Text.Lazy + Text.RE.TDFA
GHC
ghc-devs at haskell.org
Wed Jan 10 12:53:09 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):
Quick data point: in a test case using a modified `Lazy.hs`, the bad
behavior can be reproduced when running certain regular expressions
against a large test data set, but not others:
- `^def `: bad
- `^def[^.]`: bad
- `^[^.]`: good
- `^d[^.]`: good
- `^de[^.]`: good
- `^def[^.]`: bad
- `^[^.]def`: good
(I picked `[^.]` as a subexpression that can never match).
Particularly interesting is `^de[^.]` vs. `^def[^.]`: it seems that having
to consume 4 or more tokens from the start of the input triggers the bad
behavior.
--
Ticket URL: <http://ghc.haskell.org/trac/ghc/ticket/14519#comment:8>
GHC <http://www.haskell.org/ghc/>
The Glasgow Haskell Compiler
More information about the ghc-tickets
mailing list