To put it straight: no limits
All hashing libraries i used before had some kind of more or less
annoying limitations. For example:
- key sizes are often limited to a few or a few
hundred bytes. While this is often enough is sometimes bites.
- key values are sometimes limited to a restricted character set.
- data sizes are also often limited.
- data values are sometimes limited to a restricted character set.
- the number of keys is often limited. Sometimes the
libraries haven't even been tested against a large number of
keys, which is a recipe for disaster.
- keys may need to be unique.
- the implementations sometimes only have a high-level interface which
make it hard to put wrappers around it. Strhash on the other hand only
has a low-level interface and is explicitly meant to be used to
but higher layers on top of it.
strhash doesn't have any limitation besides a key and data
length limitation of 31 bits. strhash has been tested against
a million keys, there a no silent limitations anywhere. strhash
can deal with duplicate keys (albeit this will somewhat reduce the
performance).
strhash hasn't been written to be the fastest possible
implementation, but is reasonable fast. On the bright side it can
deal with almost any data you throw at it.
Links
the strhash homepage