Perfect Hash Function Generator - 6 Known Bugs and Limitations with gperf

Go to the first, previous, next, last section, table of contents.

# 6 Known Bugs and Limitations with `gperf`

The following are some limitations with the current release of `gperf`:

- The `gperf` utility is tuned to execute quickly, and works quickly for small to medium size data sets (around 1000 keywords). It is extremely useful for maintaining perfect hash functions for compiler keyword sets. Since version 3.0, `gperf` also works efficiently on much larger keyword sets (over 15,000 keywords).
- The size of the generate static keyword array can get extremely large if the input keyword file is large or if the keywords are quite similar. This tends to slow down the compilation of the generated C code, and greatly inflates the object code size. If this situation occurs, consider using the `‘-S’` option to reduce data size, potentially increasing the keyword recognition time by a negligible amount. Since many C compilers cannot correctly generate code for large switch statements it is important to qualify the -S option with an appropriate numerical argument that controls the number of switch statements generated.
- The maximum number of selected byte positions has an arbitrary limit of 255. This restriction should be removed, and if anyone considers this a problem write me and let me know so I can remove the constraint.

Go to the first, previous, next, last section, table of contents.