mirror of
https://git.savannah.gnu.org/git/gperf.git
synced 2025-12-02 13:09:22 +00:00
b1ff3c70b1370668131049e42817b896bbd3746b
Storing list elements in contiguous memory means: less cache misses. This reduces the execution time of gperf on large inputs by ca. 30%. * src/arraylist.h: New file. * src/arraylist.cc: New file. * src/Makefile.in (OBJECTS): Add arraylist.$(OBJEXT). (ARRAYLIST_H): New variable. (arraylist.$(OBJEXT)): New rule. (search.$(OBJEXT)): Update dependencies. (SOURCE_FILES): Add arraylist.cc and arraylist.h. * src/search.cc: Include arraylist.h. (struct EquivalenceClass): An an ArrayList field. Remove the linked-list fields. Add a constructor. (Search::compute_partition, delete_partition): Update. (Search::count_possible_collisions, Search::unchanged_partition, Search::find_asso_values): Update.
This is GNU gperf. It is a program that generates perfect hash
functions for sets of key words. A perfect hash function is:
A hash function and a data structure that allows
recognition of a key word in a set of words using
exactly 1 probe into the data structure.
The doc/gperf.html file explains how the program works, the form of
the input, what options are available, and hints on choosing the best
options for particular key words set.
See the file NEWS for a list of major changes in the current release.
See the file INSTALL for compilation and installation instructions.
See the file JOIN-GNU to read how you can join the GNU project.
Output from the GPERF program is used to recognize reserved words in
the GNU C, GNU C++, and GNU Pascal compilers, as well as with the GNU
indent program.
For general documentation on the coding and usage standards
this distribution follows, see the GNU standards document
https://www.gnu.org/prep/standards/standards.html, especially the
sections 'Makefile Conventions', 'How Configuration Should Work',
and 'Standards for Interfaces Generally'.
Mail suggestions and bug reports to <bug-gperf@gnu.org>. When
reporting bugs, please include in the subject line the package name
and version (output of 'gperf --version') for which you found a problem.
Description
Languages
C++
82%
Makefile
8.6%
Shell
6.6%
M4
1.9%
C
0.9%