
#1600: Optimisation: CPR the results of IO -------------------------------------+------------------------------------- Reporter: simonmar | Owner: (none) Type: task | Status: new Priority: lowest | Milestone: Component: Compiler | Version: 6.6.1 Resolution: | Keywords: Operating System: Unknown/Multiple | Architecture: Type of failure: Runtime | Unknown/Multiple performance bug | Test Case: Blocked By: | Blocking: Related Tickets: #8598 | Differential Rev(s): Wiki Page: | -------------------------------------+------------------------------------- Comment (by akio): Replying to [comment:68 simonpj]:
Akio, I've fixed that wrapper issue.
Thank you!
What's next on this ticket?
After rebasing the branch on top of your fix, the nofib improvements are again consistent but very small: {{{ -------------------------------------------------------------------------------- Program Size Allocs Runtime Elapsed TotalMem -------------------------------------------------------------------------------- hpg +0.2% -1.1% 0.212 0.212 0.0% infer +0.3% -1.2% 0.054 0.054 0.0% solid +0.3% -6.6% 0.181 0.181 0.0% sphere +0.3% -1.7% 0.086 0.086 0.0% -------------------------------------------------------------------------------- Min +0.2% -6.6% -23.2% -23.4% -19.2% Max +0.7% +0.1% +16.3% +16.2% 0.0% Geometric Mean +0.3% -0.1% -0.1% -0.1% -0.3% }}} The branch can perform nested CPR in simple cases, but it fails to transform some cases I would like it to. Currently I'm trying to make `extendSigsWithLam` a bit more aggressive by allowing it to generate nested CPR information. -- Ticket URL: http://ghc.haskell.org/trac/ghc/ticket/1600#comment:69 GHC http://www.haskell.org/ghc/ The Glasgow Haskell Compiler