|
Packit |
b27855 |
<HTML>
|
|
Packit |
b27855 |
<HEAD>
|
|
Packit |
b27855 |
|
|
Packit |
b27855 |
from gperf.texi on 2 January 2017 -->
|
|
Packit |
b27855 |
|
|
Packit |
b27855 |
<META HTTP-EQUIV="content-type" CONTENT="text/html; charset=UTF-8">
|
|
Packit |
b27855 |
<TITLE>Perfect Hash Function Generator - 6 Known Bugs and Limitations with gperf</TITLE>
|
|
Packit |
b27855 |
</HEAD>
|
|
Packit |
b27855 |
<BODY>
|
|
Packit |
b27855 |
Go to the first, previous, next, last section, table of contents.
|
|
Packit |
b27855 |
|
|
Packit |
b27855 |
|
|
Packit |
b27855 |
|
|
Packit |
b27855 |
|
|
Packit |
b27855 |
|
|
Packit |
b27855 |
|
|
Packit |
b27855 |
The following are some limitations with the current release of
|
|
Packit |
b27855 |
gperf :
|
|
Packit |
b27855 |
|
|
Packit |
b27855 |
|
|
Packit |
b27855 |
|
|
Packit |
b27855 |
|
|
Packit |
b27855 |
|
|
Packit |
b27855 |
|
|
Packit |
b27855 |
The gperf utility is tuned to execute quickly, and works quickly
|
|
Packit |
b27855 |
for small to medium size data sets (around 1000 keywords). It is
|
|
Packit |
b27855 |
extremely useful for maintaining perfect hash functions for compiler
|
|
Packit |
b27855 |
keyword sets. Several recent enhancements now enable gperf to
|
|
Packit |
b27855 |
work efficiently on much larger keyword sets (over 15,000 keywords).
|
|
Packit |
b27855 |
When processing large keyword sets it helps greatly to have over 8 megs
|
|
Packit |
b27855 |
of RAM.
|
|
Packit |
b27855 |
|
|
Packit |
b27855 |
|
|
Packit |
b27855 |
|
|
Packit |
b27855 |
The size of the generate static keyword array can get extremely
|
|
Packit |
b27855 |
large if the input keyword file is large or if the keywords are quite
|
|
Packit |
b27855 |
similar. This tends to slow down the compilation of the generated C
|
|
Packit |
b27855 |
code, and greatly inflates the object code size. If this
|
|
Packit |
b27855 |
situation occurs, consider using the <SAMP>‘-S’</SAMP> option to reduce data
|
|
Packit |
b27855 |
size, potentially increasing keyword recognition time a negligible
|
|
Packit |
b27855 |
amount. Since many C compilers cannot correctly generate code for
|
|
Packit |
b27855 |
large switch statements it is important to qualify the -S option
|
|
Packit |
b27855 |
with an appropriate numerical argument that controls the number of
|
|
Packit |
b27855 |
switch statements generated.
|
|
Packit |
b27855 |
|
|
Packit |
b27855 |
|
|
Packit |
b27855 |
|
|
Packit |
b27855 |
The maximum number of selected byte positions has an
|
|
Packit |
b27855 |
arbitrary limit of 255. This restriction should be removed, and if
|
|
Packit |
b27855 |
anyone considers this a problem write me and let me know so I can remove
|
|
Packit |
b27855 |
the constraint.
|
|
Packit |
b27855 |
|
|
Packit |
b27855 |
|
|
Packit |
b27855 |
|
|
Packit |
b27855 |
Go to the first, previous, next, last section, table of contents.
|
|
Packit |
b27855 |
</BODY>
|
|
Packit |
b27855 |
</HTML>
|