Repository : ssh://darcs.haskell.org//srv/darcs/packages/containers

On branch  : master

http://hackage.haskell.org/trac/ghc/changeset/cf2cdd50743f540c0781a6f1455cebec9a6042d1

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

commit cf2cdd50743f540c0781a6f1455cebec9a6042d1
Author: Milan Straka <[email protected]>
Date:   Fri Apr 27 11:12:07 2012 +0200

    Once again revert argument capturing by local 'go' function.
    
    At last I found an example, where capturing the argument in local 'go'
    function in 'member' causes increased heap-allocation. It is caused by
    'go' function floating out of 'member' and allocating a dictionary and
    the key argument.
    
    This happens only with Map and Set methods. Therefore in IntMap and IntSet,
    'go' function still captures the argument (and GHC shows no increased
    heap-allocation as a result of that).

 Data/Map/Base.hs |  180 +++++++++++++++++++++++++++++++----------------------
 Data/Set/Base.hs |  120 +++++++++++++++++++++---------------
 2 files changed, 176 insertions(+), 124 deletions(-)


Diff suppressed because of size. To see it, use:

    git show cf2cdd50743f540c0781a6f1455cebec9a6042d1

_______________________________________________
Cvs-libraries mailing list
[email protected]
http://www.haskell.org/mailman/listinfo/cvs-libraries

Reply via email to