
#10528: compile time performance regression with OverloadedStrings and Text -------------------------------------+------------------------------------- Reporter: jakewheat | Owner: bgamari Type: bug | Status: new Priority: high | Milestone: 7.10.3 Component: Compiler | Version: 7.10.2-rc2 Resolution: | Keywords: Operating System: Linux | Architecture: Type of failure: Compile-time | Unknown/Multiple performance bug | Test Case: Blocked By: | Blocking: Related Tickets: | Differential Revisions: -------------------------------------+------------------------------------- Comment (by bgamari): In both 7.10.1 and 7.10.2 the following simplifications occur (in chronological order), * First 7.10.1 and 7.10.2 both inline `Data.Text.$fIsStringText` and `Data.String.fromString` (something like once for each binding) * In the next simplifier run they both inline `GHC.Base.build` and `GHC.Base.pack` (again, something like once per binding) * In the next simplifier iteration 7.10.1 does no inlining. 7.10.2, however, keeps going, inlining `Data.Text.Internal.Fusion.unstream`, `Data.Text.Internal.Fusion.Common.map`, `Data.Text.Internal.Fusion.Common.streamList`, `Data.Text.Internal.safe`, and `Data.Text.Internal.Fusion.Types.$WYield` (again, proportional to the number of bindings). -- Ticket URL: http://ghc.haskell.org/trac/ghc/ticket/10528#comment:7 GHC http://www.haskell.org/ghc/ The Glasgow Haskell Compiler