Added gperf notes.

This commit is contained in:
davi 2005-01-27 00:04:11 +00:00
parent a646050111
commit 1e5c4f0f4b
6 changed files with 44 additions and 13 deletions

View File

@ -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

View File

@ -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)

View File

@ -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)

40
GPERF.t2t Normal file
View File

@ -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

View File

@ -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**

View File

@ -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