Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with HTTPS or Subversion.

Download ZIP
Commits on Jan 9, 2015
  1. Basic hashtable: store item counts as machine words instead of Word16s.

    authored
    When I shortened the stored hash codes to 16 bits, I neglected to
    realize that I was also using this array code to store item counts in
    the hashtable, which of course led to integer overflow immediately.
    
    Should fix #24.
Commits on Dec 13, 2014
  1. Update changelog.

    authored
Commits on Dec 12, 2014
Commits on Dec 6, 2014
  1. Add changelog.

    authored
Commits on Oct 4, 2014
Commits on Jun 26, 2014
  1. Merge pull request #18 from kini/patch-1

    authored
    Typo fix
Commits on Jun 25, 2014
  1. Keshav Kini

    Typo fix

    kini authored
    cpp-options should be specified with a colon (:) rather than an equals sign (=)
Commits on May 1, 2014
  1. robeverest

    Make portable implementations of forwardSearch2 and forwardSearch3 ma…

    robeverest authored
    …tch C implementations. This fixes #13.
  2. robeverest

    Various fixes for 7.8.2

    robeverest authored
  3. robeverest
Commits on Oct 11, 2013
  1. Merge branch '1.1-stable'

    authored
    Conflicts:
    	hashtables.cabal
    	src/Data/HashTable/Internal/CacheLine.hs
  2. Ben Gamari

    GHC 7.7 compatibility

    bgamari authored committed
    ==# now returns Int#, not Bool
  3. Merge pull request #7 from bgamari/master

    authored
    GHC 7.7 compatibility
  4. Ben Gamari

    GHC 7.7 compatibility

    bgamari authored
    ==# now returns Int#, not Bool
Commits on Oct 1, 2013
  1. Merge branch '1.1-stable'

    authored
    Conflicts:
    	benchmark/hashtable-benchmark.cabal
    	hashtables.cabal
Commits on Sep 30, 2013
  1. Upgrade dependencies.

    authored
Commits on Sep 3, 2013
  1. Remove old cfuncs.c.

    authored
Commits on Jun 7, 2013
  1. Use smaller hash codes to go faster and save space.

    authored
    Before, in the basic and cuckoo hash tables, we were storing full
    machine-word-sized hash codes in the table so that we could quickly search a
    whole cache line for a key (or a combination of keys) without branching.
    
    It turns out that a full machine word is not really necessary for this
    application; switching to a 16-bit key will very slightly increase the number
    of hash collisions within buckets (meaning that we'll compare more keys), but
    will pay big dividends in terms of:
    
      * reduced wastage of RAM
    
      * searching more keys at once, allowing buckets to grow bigger
    
      * more cache hits on the hash codes array.
    
    Preliminary results suggest a reduction in table overhead of about four bytes
    per key-value pair (on 64-bit) and speed increases around the 15% range,
    although I need to re-run these results and probably do some tuning afterwards.
Commits on Jun 5, 2013
Commits on Feb 12, 2013
  1. Merge branch 'master' of github.com:gregorycollins/hashtables

    authored
    Conflicts:
    	hashtables.cabal
Commits on Feb 7, 2013
Commits on Feb 6, 2013
  1. fromList: don't be strict in the list argument (at the expense of pos…

    authored
    …sibly resizing more often than before)
Something went wrong with that request. Please try again.