All Versions
28
Latest Version
Avg Release Cycle
189 days
Latest Release
-

Changelog History
Page 2

  • v1.2.1.0 Changes

    November 20, 2015
  • v1.2.0.2 Changes

    • Fixed serious bug (https://github.com/gregorycollins/hashtables/issues/24) in basic hash table making it impossible to reliably store more than 64k elements (after shortening the hash code arrays to 16 bits I neglected to realize that I was storing item counts using the same array type).
  • v1.2.0.1 Changes

    December 13, 2014
    • Fixed bug in C code re: clang interpreting "inline" strictly according to (insane) C99 semantics: http://clang.llvm.org/compatibility.html#inline

    • Fixed a compile bug affecting versions of base older than 4.4.

    • Changed int type from Int to Word in CheapPseudoRandomBitStream to fix an integer overflow warning.

  • v1.2.0.0 Changes

    Switch to smaller hash codes to go faster and save space.

    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.

    Other

    • Dependency bumps

    • Fix definitions of forwardSearch2 and forwardSearch3 in PORTABLE mode (also used on Windows) to match C implementations.

  • v1.1.2.1 Changes

    • Fixes for GHC 7.8 compatibility.
  • v1.1.2.0 Changes

    • Bump allowable versions of hashable, primitive, and vector, blacklisting some bad hashable versions

    • Add specialize pragmas for fromListWithSizeHint

  • v1.1.0.2 Changes

    • Use CPP to allow compilation against base 4.2/4.3.
  • v1.1.0.1 Changes

    • Re-added SPECIALIZE pragmas that were previously removed.
  • v1.1.0.0 Changes

    • Add 'fromListWithSizeHint'
    • 'fromList': don't be strict in the list argument
  • v1.0.1.8 Changes

    ⬆️ Bump vector and primitive dependencies.