(gperf) Description
Info Catalog
(gperf) Search Structures
(gperf) Top
(gperf) Options
High-Level Description of GNU `gperf'
*************************************
Menu
* Input Format Input Format to `gperf'
* Output Format Output Format for Generated C Code with `gperf'
* Binary Strings Use of NUL characters
The perfect hash function generator `gperf' reads a set of
"keywords" from a "keyfile" (or from the standard input by default).
It attempts to derive a perfect hashing function that recognizes a
member of the "static keyword set" with at most a single probe into the
lookup table. If `gperf' succeeds in generating such a function it
produces a pair of C source code routines that perform hashing and
table lookup recognition. All generated C code is directed to the
standard output. Command-line options described below allow you to
modify the input and output format to `gperf'.
By default, `gperf' attempts to produce time-efficient code, with
less emphasis on efficient space utilization. However, several options
exist that permit trading-off execution time for storage space and vice
versa. In particular, expanding the generated table size produces a
sparse search structure, generally yielding faster searches.
Conversely, you can direct `gperf' to utilize a C `switch' statement
scheme that minimizes data space storage size. Furthermore, using a C
`switch' may actually speed up the keyword retrieval time somewhat.
Actual results depend on your C compiler, of course.
In general, `gperf' assigns values to the characters it is using for
hashing until some set of values gives each keyword a unique value. A
helpful heuristic is that the larger the hash value range, the easier
it is for `gperf' to find and generate a perfect hash function.
Experimentation is the key to getting the most from `gperf'.
Info Catalog
(gperf) Search Structures
(gperf) Top
(gperf) Options
automatically generated byinfo2html