[GHC] #10528: compile time performance regression with OverloadedStrings and Text
GHC
ghc-devs at haskell.org
Fri Jul 24 16:31:09 UTC 2015
#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
More information about the ghc-tickets
mailing list