[commit: ghc] wip/T10293: Improve Call Arity performance (7fffa7a)
git at git.haskell.org
git at git.haskell.org
Wed Apr 15 14:33:37 UTC 2015
Repository : ssh://git@git.haskell.org/ghc
On branch : wip/T10293
Link : http://ghc.haskell.org/trac/ghc/changeset/7fffa7ac6aee5e5b3188dd864b409e857ae75d86/ghc
>---------------------------------------------------------------
commit 7fffa7ac6aee5e5b3188dd864b409e857ae75d86
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.
>---------------------------------------------------------------
7fffa7ac6aee5e5b3188dd864b409e857ae75d86
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 7fffa7ac6aee5e5b3188dd864b409e857ae75d86
More information about the ghc-commits
mailing list