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.
VLDB 2025 paper: https://www.vldb.org/pvldb/vol18/p4424-maghrebi.pdf
To get started, simply clone the repository and navigate into the project directory:
git clone [repo-url]
cd sphinxBenchmark 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.