Hello. I wrote this mainly as an exercise to run some benchmark tests. I'm comparing this native implementation of hashtable in C with JS objects and Python dicts.
The implementation uses separate chaining with linked lists for collision resolution. Thus, we have a fixed array (malloc'd) which we have O(1) access to it, and each value is actually a linked list.
The dependency relation between ht and ll is asymmetric.
For benchmarks, check the benchmarks
folder.
To build the tests, write make tests
.
To build the examples, write make examples
.
To just build the library, write make lib
.
To build everything, write make
.
To cleanup, run make clean
.
For memory leaks test, run leaks -atExit -- ./ht_test | grep LEAK:
.
Boro Sitnikovski
February 2017