View Issue Details

IDProjectCategoryView StatusLast Update
0000564LDMud 3.6Generalpublic2022-10-06 22:10
Reporterzesstra Assigned Tozesstra  
PrioritynormalSeverityminorReproducibilityalways
Status closedResolutionsuspended 
Platformx86_64OSMacOS XOS Version10.5.x
Summary0000564: Consolidate hash functions
DescriptionThere are currently several different hash functions in use to calculate hashes (for strings, identifiers, etc.). There are the string hash function which base on whashmem() & Co from hash.c, but also some hard-coded ones like store_prog_string() in lang.c which assumes 32-bit pointers.
I would like to check if it is possible to base all our hashes on one standard hash function. Ideally this function would be one which is also used and tested by other projects and is theoretically sound (like the very fast hash from Bernsteins cdb, Paul Hsieh's SuperFastHash, Bob Jenkin's hash functions).
TagsNo tags attached.

Relationships

parent of 0000565 resolvedzesstra LDMud 3.5 Hash in store_prog_string() assumes 32 bit pointers 
parent of 0000518 resolvedzesstra LDMud 3.5 Support for longer (double-word) string hashes and larger string tables 
parent of 0000597 resolvedzesstra LDMud 3.5 Change hash in ident_s to whash_t instead of short 
parent of 0000804 closedzesstra LDMud 3.5 Hash in find_add_pointer() assumes 32 bit pointers 
related to 0000858 closedzesstra LDMud 3.6 Check for update of hash calculations to xxHash 

Activities

zesstra

2008-09-10 17:14

administrator   ~0000779

interpret.c uses for the apply cache this hash calculation:
( progp->id_number ^ (p_int)fun ^ ( (p_int)fun >> APPLY_CACHE_BITS ) ) & (CACHE_SIZE-1);

zesstra

2008-09-14 18:20

administrator   ~0000784

mapping.c has
static INLINE mp_int mhash (svalue_t * svp)
with another hash calculation as well.

Issue History

Date Modified Username Field Change
2008-09-09 09:06 zesstra New Issue
2008-09-09 09:06 zesstra Status new => assigned
2008-09-09 09:06 zesstra Assigned To => zesstra
2008-09-09 09:25 zesstra Relationship added parent of 0000565
2008-09-09 09:45 zesstra Relationship added parent of 0000518
2008-09-10 17:14 zesstra Note Added: 0000779
2008-09-14 18:20 zesstra Note Added: 0000784
2009-01-08 05:47 zesstra Relationship added parent of 0000558
2009-01-16 14:52 zesstra Relationship deleted parent of 0000558
2009-01-16 15:05 zesstra Relationship added parent of 0000597
2010-07-14 04:39 zesstra Target Version => 3.5.0
2012-06-07 17:56 zesstra Relationship added parent of 0000804
2012-06-08 00:17 zesstra Source_changeset_attached => ldmud.git master 59d75a00
2015-04-30 00:03 zesstra Project LDMud 3.5 => LDMud 3.6
2015-04-30 00:03 zesstra Category Implementation => General
2018-01-29 19:59 zesstra Source_changeset_attached => ldmud.git master 59d75a00
2018-01-29 22:57 zesstra Source_changeset_attached => ldmud.git master 59d75a00
2018-01-30 04:59 zesstra Source_changeset_attached => ldmud.git master 59d75a00
2021-04-09 14:18 zesstra Relationship added related to 0000858
2022-10-06 22:10 zesstra Status assigned => closed
2022-10-06 22:10 zesstra Resolution open => suspended