16 lines
822 B
Text
16 lines
822 B
Text
The program mph tries to generate an order preserving minimal perfect
|
|
hashing (MPH) function for the set of keys, one per line, on stdin.
|
|
Each key can be at most 4095 characters long (see keys.h to increase
|
|
this limit), and the keys must be unique. If mph terminates, it emits
|
|
a language independent binary or text representation of the MPH
|
|
function on stdout. To generate a usable hash function, this output
|
|
should be fed to a language dependent filter, like emitc.
|
|
|
|
e.g.
|
|
% mph <foo | emitc >hash.c
|
|
|
|
The algorithm used by mph is probabilistic - it iterates until it
|
|
finds a MPH function. For each failed iteration, it prints a
|
|
(cryptic) reason on stderr. There is no no guarantee that mph will
|
|
terminate. In practice this is unlikely, unless the constants
|
|
specified with options -c or -m are too small (see below).
|