The GNU gperf program is a perfect hash function generator. For a given list of strings, it produces a hash table, in form of C or C++ code, for looking up a value depending on the input string.
It is now available in version 3.3. ==== New in 3.3 ==== * Speedup: gperf is now between 2x and 2.5x faster. ==== Download ==== Here are the compressed sources and a GPG detached signature: https://ftp.gnu.org/gnu/gperf/gperf-3.3.tar.gz https://ftp.gnu.org/gnu/gperf/gperf-3.3.tar.gz.sig Use a mirror for higher download bandwidth: https://www.gnu.org/order/ftp.html Here are the SHA1 and SHA256 checksums: File: gperf-3.3.tar.gz SHA1 sum: 0ccc217cba4e3311efb12ddd0cc23cb6a25d5d7c SHA256 sum: fd87e0aba7e43ae054837afd6cd4db03a3f2693deb3619085e6ed9d8d9604ad8 Use a .sig file to verify that the corresponding file (without the .sig suffix) is intact. First, be sure to download both the .sig file and the corresponding tarball. Then, run a command like this: gpg --verify gperf-3.3.tar.gz.sig The signature should match the fingerprint of the following key: pub ed25519 2025-01-28 [SC] E0FF BD97 5397 F77A 32AB 76EC B630 1D9E 1BBE AC08 uid Bruno Haible (Free Software Development) <br...@clisp.org> If that command fails because you don't have the required public key, or that public key has expired, try the following commands to retrieve or refresh it, and then rerun the 'gpg --verify' command. gpg --recv-keys B6301D9E1BBEAC08 As a last resort to find the key, you can try the official GNU keyring: wget -q https://ftp.gnu.org/gnu/gnu-keyring.gpg gpg --keyring gnu-keyring.gpg --verify gperf-3.3.tar.gz.sig