
#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 simonpj): Interesting. I was thinking of this part of the ticky file {{{ Entries Alloc Alloc'd Non-void Arguments STG Name -------------------------------------------------------------------------------- 1800047 78722320 0 1 L p_term{v raIX} (main:Main) (fun) 2160065 50401232 0 2 >L base:GHC.List.takeWhile{v rcW} (fun) 1509183 43941968 0 2 LL base:GHC.Base.++{v 03} (fun) 1086514 43446320 0 2 LL base:GHC.List.zip{v 0x} (fun) 1088129 37257616 0 2 >L base:GHC.Base.map{v 01X} (fun) 480015 24961008 0 1 L p2{v raIU} (main:Main) (fun) 240001 19200080 0 2 ML $w$j{v raIV} (main:Main) (fun,se) 665502 17440560 0 2 iL go1{v raJb} (main:Main) (fun) 545117 17421624 0 1 M subterms{v r1ki} (main:Main) (fun) 723688 15430288 0 3 LMM $wmatch'{v raJ5} (main:Main) (fun) 662950 15428096 0 3 MML $sfind'{v raIM} (main:Main) (fun) 363373 12627992 0 1 L go11{v saSX} (main:Main) (fun) in raJb 487124 11666944 0 3 >>M expr_fold{v r1jH} (main:Main) (fun) 1267348 11605760 0 2 LM find'{v raIN} (main:Main) (fun) }}} Usually when something exponential is going on you get some very bug numbers at the top. (You may need to sort first.) -- Ticket URL: http://ghc.haskell.org/trac/ghc/ticket/14519#comment:12 GHC http://www.haskell.org/ghc/ The Glasgow Haskell Compiler