OpenGrok
Cross Reference: nbperf.c
xref
: /
src
/
usr.bin
/
nbperf
/
nbperf.c
Home
|
History
|
Annotate
|
Download
|
only in
nbperf
History log of
/src/usr.bin/nbperf/nbperf.c
Revision
Date
Author
Comments
1.9
22-Sep-2024
christos
Set the default to "infinity" and use ~0 so we don't need to count f's.
(Brad Harder)
1.8
02-Feb-2024
andvar
branches: 1.8.2;
fix typos, mainly s/unsupport/unsupported/ in log messages.
1.7
12-Jan-2021
joerg
Don't use arc4random for the tools build on NetBSD either.
compat_defs.h explicitly forces _POSIX_SOURCE and this hides the
prototype in stdlib.h.
1.6
07-Jan-2021
joerg
Optimize nbperf
- add fudge mode which gives a slightly slower hash function, but works
almost always in the first iteration by avoiding degenerate edges
- avoid keeping incidence lists around reducing the memory foot print by
30%
- split edge processing from hashing as in the non-fudge case it is a
reasonable costly part that often gets thrown away
- merge graph2 and graph3 routines now that they are mostly the same
1.5
31-Jan-2013
joerg
bdz -> bpz to match the initials of the authors.
1.4
21-Oct-2011
joerg
branches: 1.4.2; 1.4.4; 1.4.8;
Add support for build as part of the toolchain. Add option for
deterministic output (-p), which replaces the random seed with a
incremental counter.
1.3
03-Mar-2010
joerg
Add a check for duplicate keys. The check is run once and quadratic in
the hash collision chain length, which is expected to be fairly low.
1.2
22-Aug-2009
joerg
GCC's propolice complains about dynamic stack arrays to bite the bullet
and introduce a compile constant that limits the number of hash results.
Verify that the choosen hash function is not beyond that limit and just
the upper limit as static size in the graph tree functions.
1.1
15-Aug-2009
joerg
Add nbperf(1), a minimal perfect hash function generator.
Implemented are the 3-graph BDZ algorithm as well as the
2-graph and 3-graph CHM algorithms. All algorithms have expected
linear run time and the smallest functions need around 2.85 bit/key.
1.4.8.1
25-Feb-2013
tls
resync with head
1.4.4.1
14-Feb-2013
jdc
Pull up revisions:
src/usr.bin/nbperf/nbperf-bdz.c revision 1.7
src/usr.bin/nbperf/nbperf.1 revision 1.6
src/usr.bin/nbperf/nbperf.c revision 1.5
src/usr.bin/nbperf/nbperf.h revision 1.4
(requested by joerg in ticket #819).
bdz -> bpz to match the initials of the authors.
1.4.2.1
22-May-2014
yamt
sync with head.
for a reference, the tree before this commit was tagged
as yamt-pagecache-tag8.
this commit was splitted into small chunks to avoid
a limitation of cvs. ("Protocol error: too many arguments")
1.8.2.1
02-Aug-2025
perseant
Sync with HEAD
Indexes created Sat Oct 18 08:10:09 GMT 2025