
#9400: poor performance when compiling modules with many Text literals at -O1 -------------------------------------+------------------------------------- Reporter: rwbarton | Owner: Type: bug | Status: closed Priority: normal | Milestone: Component: Compiler | Version: 7.8.3 Resolution: invalid | Keywords: Operating System: | Architecture: Unknown/Multiple Unknown/Multiple | Difficulty: Unknown Type of failure: Compile- | Blocked By: time performance bug | Related Tickets: #9370 Test Case: | Blocking: | Differential Revisions: | -------------------------------------+------------------------------------- Comment (by rwbarton): Replying to [comment:4 simonpj]:
Another possibility might be to remove the special behaviour of desugaring strings from GHC. Why is it there?
I was guessing that perhaps the generated code is smaller for a one- character list than for a call to `unpackCString#`. But if that's true, it's not a very good reason to put that logic in the desugarer; we could rewrite `unpackCString# "a"` to `'a' : []` in a later optimizer pass, after RULES have fired. -- Ticket URL: http://ghc.haskell.org/trac/ghc/ticket/9400#comment:6 GHC http://www.haskell.org/ghc/ The Glasgow Haskell Compiler