Some notes on used key hashing algorithm

git-svn-id: http://repo.ham.fi/svn/aprsc/trunk@210 3ce903b1-3385-4e86-93cd-f9a4a239f7ac
This commit is contained in:
Matti Aarnio 2008-03-22 04:59:36 +00:00
parent 7d0a884e6f
commit 181abd575c
2 changed files with 24 additions and 16 deletions

View File

@ -94,15 +94,12 @@ cfgfile.c
A configuration file parser written by Tomi Manninen, OH2BNS,
originally for the node(1) program in the ax25-utils package.
splay.c
spsymbol.c
splay tree functions written by David Brower, daveb@rtech.uucp 1/88,
obtained from the zmailer sources.
crc32.c
CRC32 calculation routine by Rayan S. Zachariassen, originally
from the zmailer MTA software (maintained by Matti Aarnio,
OH2MQK). Used by spsymbol.c.
keyhash.c
Various attempts at keyhashing.
Contains algorithms:
- FNV-1a
- CRC32
Currently using FNV-1a
rwlock.c
A schoolbook pthread rwlock implementation for systems

View File

@ -19,13 +19,8 @@
*
*/
/* ON THIS PROCESSING ALONE THE SYSTEM IS PUSHING AROUND 8-12 % OF CPU TIME!
* ... but the previous top waster, the aprsc output filters, are optimized
* to the hilt...
*
* There exists alternate implementations of CRC32 which are 1.7 - 2.3 times
* faster than this one with an expense of using 4kB / 8 kB / 16 kB of tables,
* which of course fill caches...
/*
* Keyhash routines for the system.
*
* What is needed is _fast_ hash function. Preferrably arithmethic one,
* which does not need table lookups, and can work with aligned 32 bit
@ -36,6 +31,9 @@
* http://www.ibiblio.org/pub/Linux/devel/lang/c/mph-1.2.tar.gz
* http://www.concentric.net/~Ttwang/tech/inthash.htm
* http://isthe.com/chongo/tech/comp/fnv/
*
* Currently using FNV-1a
*
*/
/*
@ -60,6 +58,19 @@
*/
/*
* ON THIS CRC32 HASH CALCULATION PROCESSING ALONE THE SYSTEM IS PUSHING
* AROUND 8-12 % OF CPU TIME!
*
* ... but the previous top waster, the aprsc output filters, are optimized
* to the hilt...
*
* There exists alternate implementations of CRC32 which are 1.7 - 2.3 times
* faster than this one with an expense of using 4kB / 8 kB / 16 kB of tables,
* which of course fill caches...
*
*/
/*
* Oct 15, 2000 Matt Domsch <Matt_Domsch@dell.com>
* Nicer crc32 functions/docs submitted by linux@horizon.com. Thanks!