[commit: ghc] ghc-7.10: Improve Call Arity performance (3389562)

git at git.haskell.org git at git.haskell.org
Mon May 11 10:07:34 UTC 2015


Repository : ssh://git@git.haskell.org/ghc

On branch  : ghc-7.10
Link       : http://ghc.haskell.org/trac/ghc/changeset/3389562148153186261cb4d9771bbb7b5172b615/ghc

>---------------------------------------------------------------

commit 3389562148153186261cb4d9771bbb7b5172b615
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.
    
    (cherry picked from commit a9ca67f6bfb45d13944ba15452d3af613ec84d8b)


>---------------------------------------------------------------

3389562148153186261cb4d9771bbb7b5172b615
 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 3389562148153186261cb4d9771bbb7b5172b615


More information about the ghc-commits mailing list