[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