Added gperf notes.
This commit is contained in:
parent
4b1d7a7713
commit
70796d9383
3
BMZ.t2t
3
BMZ.t2t
|
@ -21,6 +21,3 @@ Enjoy!
|
||||||
Davi de Castro Reis
|
Davi de Castro Reis
|
||||||
|
|
||||||
Fabiano Cupertino Botelho
|
Fabiano Cupertino Botelho
|
||||||
|
|
||||||
%!include(html): ''LOGO.html''
|
|
||||||
Last Updated: %%date(%c)
|
|
||||||
|
|
Before Width: | Height: | Size: 360 B After Width: | Height: | Size: 303 B |
3
CHM.t2t
3
CHM.t2t
|
@ -19,6 +19,3 @@ Enjoy!
|
||||||
Davi de Castro Reis
|
Davi de Castro Reis
|
||||||
|
|
||||||
Fabiano Cupertino Botelho
|
Fabiano Cupertino Botelho
|
||||||
|
|
||||||
%!include(html): ''LOGO.html''
|
|
||||||
Last Updated: %%date(%c)
|
|
||||||
|
|
|
@ -22,6 +22,3 @@ Enjoy!
|
||||||
Davi de Castro Reis
|
Davi de Castro Reis
|
||||||
|
|
||||||
Fabiano Cupertino Botelho
|
Fabiano Cupertino Botelho
|
||||||
|
|
||||||
%!include(html): ''LOGO.html''
|
|
||||||
Last Updated: %%date(%c)
|
|
||||||
|
|
|
@ -0,0 +1,40 @@
|
||||||
|
GPERF versus CMPH
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
You might ask why cmph if [gperf http://www.gnu.org/software/gperf/gperf.html]
|
||||||
|
already works perfectly. Actually, gperf and cmph have different goals.
|
||||||
|
Basically, these are the requirements for each of them:
|
||||||
|
|
||||||
|
|
||||||
|
- GPERF
|
||||||
|
|
||||||
|
- Create very fast hash functions for **small** sets
|
||||||
|
|
||||||
|
- Create **perfect** hash functions
|
||||||
|
|
||||||
|
- CMPH
|
||||||
|
|
||||||
|
- Create very fast hash function for **very large** sets
|
||||||
|
|
||||||
|
- Create **minimal perfect** hash functions
|
||||||
|
|
||||||
|
As result, cmph can be used to create hash functions where gperf would run
|
||||||
|
forever without finding a perfect hash function, because of the running
|
||||||
|
time of the algorithm and the large memory usage.
|
||||||
|
On the other side, functions created by cmph are about 2x slower than those
|
||||||
|
created by gperf.
|
||||||
|
|
||||||
|
So, if you have large sets, or memory usage is a key restriction for you, stick
|
||||||
|
to cmph. If you have small sets, and do not care about memory usage, go with
|
||||||
|
gperf. The first problem is common in the information retrieval field (e.g.
|
||||||
|
assigning ids to millions of documents), while the former is usually found in
|
||||||
|
the compiler programming area (detect reserved keywords).
|
||||||
|
|
||||||
|
----------------------------------------
|
||||||
|
[Home index.html]
|
||||||
|
----------------------------------------
|
||||||
|
|
||||||
|
Davi de Castro Reis
|
||||||
|
|
||||||
|
Fabiano Cupertino Botelho
|
8
README
8
README
|
@ -1,6 +1,6 @@
|
||||||
CMPH - C Minimal Perfect Hashing Library
|
CMPH - C Minimal Perfect Hashing Library
|
||||||
|
|
||||||
----------------------------------------
|
-------------------------------------------------------------------
|
||||||
|
|
||||||
Description
|
Description
|
||||||
|
|
||||||
|
@ -11,8 +11,8 @@ production-quality and fast API. The library is designed to work with big entrie
|
||||||
can not fit in the main memory. It has been used successfully for constructing minimal perfect
|
can not fit in the main memory. It has been used successfully for constructing minimal perfect
|
||||||
hashing functions for sets with more than 100 million of keys.
|
hashing functions for sets with more than 100 million of keys.
|
||||||
Although there is a lack of similar libraries
|
Although there is a lack of similar libraries
|
||||||
in the free software world, we can point out some of the distinguishable
|
in the free software world (gperf is a bit different (gperf.html)), we can point out some
|
||||||
features of cmph:
|
of the distinguishable features of cmph:
|
||||||
|
|
||||||
- Fast.
|
- Fast.
|
||||||
- Space-efficient with main memory usage carefully documented.
|
- Space-efficient with main memory usage carefully documented.
|
||||||
|
@ -162,7 +162,7 @@ Davi de Castro Reis
|
||||||
|
|
||||||
Fabiano Cupertino Botelho
|
Fabiano Cupertino Botelho
|
||||||
|
|
||||||
Last Updated: Tue Jan 25 18:43:38 2005
|
Last Updated: Wed Jan 26 22:37:36 2005
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
|
@ -3,7 +3,7 @@ CMPH - C Minimal Perfect Hashing Library
|
||||||
|
|
||||||
%!includeconf: CONFIG.t2t
|
%!includeconf: CONFIG.t2t
|
||||||
|
|
||||||
----------------------------------------
|
-------------------------------------------------------------------
|
||||||
|
|
||||||
**Description**
|
**Description**
|
||||||
|
|
||||||
|
@ -14,8 +14,8 @@ production-quality and fast API. The library is designed to work with big entrie
|
||||||
can not fit in the main memory. It has been used successfully for constructing minimal perfect
|
can not fit in the main memory. It has been used successfully for constructing minimal perfect
|
||||||
hashing functions for sets with more than 100 million of keys.
|
hashing functions for sets with more than 100 million of keys.
|
||||||
Although there is a lack of similar libraries
|
Although there is a lack of similar libraries
|
||||||
in the free software world, we can point out some of the distinguishable
|
in the free software world ([gperf is a bit different gperf.html]), we can point out some
|
||||||
features of cmph:
|
of the distinguishable features of cmph:
|
||||||
|
|
||||||
- Fast.
|
- Fast.
|
||||||
- Space-efficient with main memory usage carefully documented.
|
- Space-efficient with main memory usage carefully documented.
|
||||||
|
@ -28,7 +28,6 @@ features of cmph:
|
||||||
- Well encapsulated API aiming binary compatibility through releases.
|
- Well encapsulated API aiming binary compatibility through releases.
|
||||||
- Free Software.
|
- Free Software.
|
||||||
|
|
||||||
|
|
||||||
----------------------------------------
|
----------------------------------------
|
||||||
|
|
||||||
**Supported Algorithms**
|
**Supported Algorithms**
|
||||||
|
|
1
gendocs
1
gendocs
|
@ -2,4 +2,5 @@ txt2tags -t html -i README.t2t -o index.html
|
||||||
txt2tags -t html -i BMZ.t2t -o bmz.html
|
txt2tags -t html -i BMZ.t2t -o bmz.html
|
||||||
txt2tags -t html -i CHM.t2t -o chm.html
|
txt2tags -t html -i CHM.t2t -o chm.html
|
||||||
txt2tags -t html -i COMPARISON.t2t -o comparison.html
|
txt2tags -t html -i COMPARISON.t2t -o comparison.html
|
||||||
|
txt2tags -t html -i GPERF.t2t -o gperf.html
|
||||||
txt2tags -t txt -i README.t2t -o README
|
txt2tags -t txt -i README.t2t -o README
|
||||||
|
|
Loading…
Reference in New Issue