TommyDS is a C library of hashtables and tries designed to store and find objects with high performance.
It's faster than all the similar libraries like rbtree, judy, googlebtree, stxbtree, khash, uthash, nedtrie, judyarray, concurrencykit, and others. Only googledensehash is a real competitor for TommyDS. See the benchmarks for some nice graphs.
The data structures provided are:
- tommy_list - A double linked list.
- tommy_array - A linear array. It doesn't fragment the heap.
- tommy_arrayblk - A blocked linear array. It doesn't fragment the heap and it minimizes the space occupation.
- tommy_hashtable - A fixed size chained hashtable.
- tommy_hashdyn - A dynamic chained hashtable.
- tommy_hashlin - A linear chained hashtable. It doesn't have the problem of the delay when resizing and it doesn't fragment the heap.
- tommy_trie - A trie optimized for cache utilization.
- tommy_trie_inplace - A trie completely inplace.
The most interesting are tommy_array, tommy_hashlin, tommy_trie and tommy_trie_inplace.
All the data structure are tested with a code coverage of 100%.
If you need support go to the Forum.
TommyDS has also a SourceForge and a GitHub page.
2018/02 News! Version 2.2 RELEASED! Download it here