1
0
mirror of https://git.savannah.gnu.org/git/gperf.git synced 2025-12-02 13:09:22 +00:00

Regenerated for 3.0.

This commit is contained in:
Bruno Haible
2003-05-07 13:35:57 +00:00
parent 7f2d2ba065
commit c4b3453ac3
14 changed files with 2161 additions and 1032 deletions

View File

@@ -1,16 +1,16 @@
<HTML>
<HEAD>
<!-- This HTML file has been created by texi2html 1.51
from gperf.texi on 26 September 2000 -->
from gperf.texi on 7 May 2003 -->
<TITLE>Perfect Hash Function Generator - 5 Known Bugs and Limitations with gperf</TITLE>
</HEAD>
<BODY>
Go to the <A HREF="gperf_1.html">first</A>, <A HREF="gperf_6.html">previous</A>, <A HREF="gperf_8.html">next</A>, <A HREF="gperf_11.html">last</A> section, <A HREF="gperf_toc.html">table of contents</A>.
Go to the <A HREF="gperf_1.html">first</A>, <A HREF="gperf_6.html">previous</A>, <A HREF="gperf_8.html">next</A>, <A HREF="gperf_10.html">last</A> section, <A HREF="gperf_toc.html">table of contents</A>.
<P><HR><P>
<H1><A NAME="SEC20" HREF="gperf_toc.html#TOC20">5 Known Bugs and Limitations with <CODE>gperf</CODE></A></H1>
<H1><A NAME="SEC25" HREF="gperf_toc.html#TOC25">5 Known Bugs and Limitations with <CODE>gperf</CODE></A></H1>
<P>
The following are some limitations with the current release of
@@ -29,16 +29,6 @@ work efficiently on much larger keyword sets (over 15,000 keywords).
When processing large keyword sets it helps greatly to have over 8 megs
of RAM.
However, since <CODE>gperf</CODE> does not backtrack no guaranteed solution
occurs on every run. On the other hand, it is usually easy to obtain a
solution by varying the option parameters. In particular, try the
<SAMP>`-r'</SAMP> option, and also try changing the default arguments to the
<SAMP>`-s'</SAMP> and <SAMP>`-j'</SAMP> options. To <EM>guarantee</EM> a solution, use
the <SAMP>`-D'</SAMP> and <SAMP>`-S'</SAMP> options, although the final results are not
likely to be a <EM>perfect</EM> hash function anymore! Finally, use the
<SAMP>`-f'</SAMP> option if you want <CODE>gperf</CODE> to generate the perfect hash
function <EM>fast</EM>, with less emphasis on making it minimal.
<LI>
The size of the generate static keyword array can get <EM>extremely</EM>
@@ -47,20 +37,20 @@ similar. This tends to slow down the compilation of the generated C
code, and <EM>greatly</EM> inflates the object code size. If this
situation occurs, consider using the <SAMP>`-S'</SAMP> option to reduce data
size, potentially increasing keyword recognition time a negligible
amount. Since many C compilers cannot correctly generated code for
amount. Since many C compilers cannot correctly generate code for
large switch statements it is important to qualify the <VAR>-S</VAR> option
with an appropriate numerical argument that controls the number of
switch statements generated.
<LI>
The maximum number of key positions selected for a given key has an
arbitrary limit of 126. This restriction should be removed, and if
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.
</UL>
<P><HR><P>
Go to the <A HREF="gperf_1.html">first</A>, <A HREF="gperf_6.html">previous</A>, <A HREF="gperf_8.html">next</A>, <A HREF="gperf_11.html">last</A> section, <A HREF="gperf_toc.html">table of contents</A>.
Go to the <A HREF="gperf_1.html">first</A>, <A HREF="gperf_6.html">previous</A>, <A HREF="gperf_8.html">next</A>, <A HREF="gperf_10.html">last</A> section, <A HREF="gperf_toc.html">table of contents</A>.
</BODY>
</HTML>