Re: [GHC] #1600: Optimisation: CPR the results of IO

#1600: Optimisation: CPR the results of IO -------------------------------------+------------------------------------- Reporter: simonmar | Owner: nomeata Type: task | Status: new Priority: lowest | Milestone: 7.6.2 Component: Compiler | Version: 6.6.1 Resolution: | Keywords: Operating System: Unknown/Multiple | Architecture: Unknown/Multiple Type of failure: Runtime | Difficulty: Moderate (less performance bug | than a day) Test Case: | Blocked By: Blocking: | Related Tickets: #8598 -------------------------------------+------------------------------------- Comment (by nomeata): Unfortunately, that was not it. The only visible change left is that `addtoLUT` in `Lisplikefns` is getting nestedly CPR’ed, without real gain (but also without loss, one would think). There is one other lead: With nested CPR, lots of "show" methods get a nested CPR property. E.g. the show method for `(,)` has now a return demand `tm2(tm(d),d)` (instead of `m2` as before), so the worker returns `(# GHC.Prim.Char#, [GHC.Types.Char] #)` instead of `(# GHC.Types.Char, [GHC.Types.Char] #)`, likely causing a re-boxing of the `(` character. I’ll disable nested CPR information inside a sum type to confirm this theory. -- Ticket URL: http://ghc.haskell.org/trac/ghc/ticket/1600#comment:30 GHC http://www.haskell.org/ghc/ The Glasgow Haskell Compiler
participants (1)
-
GHC