Sphinx is a state-of-the-art succinct perfect hash table engineered for high performance on modern x86 CPUs. Its innovative encoding leverages rank and select primitives alongside auxiliary metadata to enable near-instantaneous hash table slot decoding. Moreover, Sphinx is designed to be expandable and easily parallelizable.
To get started, simply clone the repository and navigate into the project directory:
git clone [repo-url]
cd sphinx
Benchmark outputs will be generated in the build/benchmark/
directory. For complete instructions on reproducing the results described in the paper, see reproducibility.md.
After cloning the repository along with its submodules, follow these steps to build the project using CMake:
- Create a build directory and navigate into it:
mkdir build && cd build
- Build the project with optimizations with:
cmake --build . --parallel 10
To run tests, make sure that ENABLE_MT
is defined in your configuration. Then, execute:
ctest .
This project is licensed under the BSD 2-Clause License. See the LICENSE file for full details.