[GHC] #1600: Optimisation: CPR the results of IO
GHC
ghc-devs at haskell.org
Mon Nov 25 17:27:53 UTC 2013
#1600: Optimisation: CPR the results of IO
-------------------------------------+-------------------------------------
Reporter: simonmar | Owner:
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:
-------------------------------------+-------------------------------------
Comment (by nomeata):
I’m working on nested cpr now. There a few related tickets (#1885 and
#2289), but I’ll report my progress here, mostly because this has the
lowest number and the fine `factIO` example.
Building on a patch from SPJ I now have a branch that works in simple
cases. I have some doubts about correctness (i.e. `bothDmdType` is used
both for type applications and cases, but I believe these need to treat
the question of convergence differently).
Also, it does ''not'' work for the `factIO` example yet, probably because
there is an unboxed tuple to begin with. Need to investigate.
The testsuite goes through (reporting, as it seems, only differences in,
well, demand signatures), but nofib’s `typecheck` fills the memory
quickly, so the analysis clearly is not conservative yet.. Need to
investigate.
--
Ticket URL: <http://ghc.haskell.org/trac/ghc/ticket/1600#comment:19>
GHC <http://www.haskell.org/ghc/>
The Glasgow Haskell Compiler
More information about the ghc-tickets
mailing list