[commit: containers] master: Improve query functions of IntMap and IntSet. (9be5ec2)

Paolo Capriotti p.capriotti at gmail.com
Thu Jul 19 21:12:09 CEST 2012


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

On branch  : master

http://hackage.haskell.org/trac/ghc/changeset/9be5ec295996794259189db969efa39bc7378b54

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

commit 9be5ec295996794259189db969efa39bc7378b54
Author: Milan Straka <fox at ucw.cz>
Date:   Fri Apr 20 18:18:55 2012 +0200

    Improve query functions of IntMap and IntSet.
    
    As documented in the Note: Local 'go' functions and capturing,
    it is safe to use captured key argument in query functions.
    
    Also, in order to decrease allocation, the query functions in IntMap
    are manually inlined, so 'member' does not have to call 'lookup'
    and heap-allocate 'Just a'.
    
    Tests of query functions are much improved too.

 Data/IntMap/Base.hs        |   61 ++++++++++++++++++++++++++-----------------
 Data/IntMap/Strict.hs      |   13 ++++++---
 Data/IntSet.hs             |    1 +
 tests/intmap-properties.hs |   36 ++++++++++++++++++--------
 tests/intset-properties.hs |   14 +++++++++-
 5 files changed, 85 insertions(+), 40 deletions(-)


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

    git show 9be5ec295996794259189db969efa39bc7378b54



More information about the Cvs-libraries mailing list