[commit: ghc] wip/T10293: Improve Call Arity performance (a9ca67f)
git at git.haskell.org
git at git.haskell.org
Wed Apr 15 14:39:11 UTC 2015
Repository : ssh://git@git.haskell.org/ghc
On branch : wip/T10293
Link : http://ghc.haskell.org/trac/ghc/changeset/a9ca67f6bfb45d13944ba15452d3af613ec84d8b/ghc
>---------------------------------------------------------------
commit a9ca67f6bfb45d13944ba15452d3af613ec84d8b
Author: Joachim Breitner <mail at joachim-breitner.de>
Date: Wed Apr 15 13:32:32 2015 +0200
Improve Call Arity performance
This improves how the Call Arity deals with "boring" variables. Boring
variables are those where it does not bother to include in the analysis
result, so whenever something is looked up in the analysis result, we
have to make a conservative assumption about them.
Previously, we extended the result with such conservative information
about them, to keep the code uniform, but that could blow up the amount
of data passed around, even if only temporarily, and slowed things down.
We now pass around an explicit list (well, set) of variable that are
boring and take that into account whenever we use the result. Not as
pretty, but noticably faster.
>---------------------------------------------------------------
a9ca67f6bfb45d13944ba15452d3af613ec84d8b
compiler/simplCore/CallArity.hs | 127 +++++++++++----------
testsuite/tests/callarity/unittest/CallArity1.hs | 5 +
.../tests/callarity/unittest/CallArity1.stderr | 6 +-
3 files changed, 78 insertions(+), 60 deletions(-)
Diff suppressed because of size. To see it, use:
git diff-tree --root --patch-with-stat --no-color --find-copies-harder --ignore-space-at-eol --cc a9ca67f6bfb45d13944ba15452d3af613ec84d8b
More information about the ghc-commits
mailing list