Hash_Functions LICENSE NEWS README TODO
TDB ERR MT

Brief overview of hash functions supported by Ruby TDB

Ruby TDB supports several alternative hash functions in addition to the defaults supported by TDB upstream. Hash functions behave and perform differently depending on the key and type of keys you use. We support several popular hash functions (and will accept patches to support more).

Changing hash functions on an already-created database will cause corruption, so don't do it.

TDB Upstream Defaults

SipHash

en.wikipedia.org/wiki/Sip_Hash 131002.net/siphash/

Currently (as of Ruby 2.1) the favored hash in Ruby for hash-flooding protection.

Murmur family

The Murmur family of hashes are supported by Ruby TDB. Most of these are not endian-neutral so databases are no compatible between machines of different endianness and were designed with x86 and x86_64 in mind (they may crash or not work on other architectures).

FNV family

Bernstein hashes


mail archives: https://yhbt.net/ruby-tdb-public/
public: ruby-tdb-public@yhbt.net
source code: git clone https://yhbt.net/ruby-tdb.git