[Vm-dev] Making a Hash of things, er, strings

ken.dickey at whidbey.com ken.dickey at whidbey.com
Sat Aug 21 00:41:03 UTC 2021


More ruminations/data

Next step is to start looking at patterns of hashes.

In some cases (20%), there is one clear winner, but in _most_ cases 
multiple hash functions tie for low collission scores.

Interesting is the spread of hash wins among hash,idHash,h0,h1,h2,h3.

Whether several hashfuns is a win needs more characterization..

Smalltalk allClasses size.  " 1527 "

tiePat := HashCandidates globalHashTiePattern .    "size -> 1227"
winPat := HashCandidates globalHashNoTiePattern.   "size ->  300"
HashCandidates patternCounts: winPat.
" #(  76   40   92    28   63    0    0     0    0    0     1     0    
0) "
HashCandidates patternCounts: tiePat.
" #( 756  681  780   833  770  857  852   432  857  852   350   247  
263) "
HashCandidates globalHashWinCounts.
" #( 832  721  872   861  833  857  852   432  857  852   351   247  
263) "
"   hash idHash h0    h1   h2   h3   h4    h5   h6   h7    h8    h9  h10 
"
HashCandidates globalCollisionsCounts.
" #(5466 6534 5331  5301 5419 5442 5436 14630 5442 5436 18708 25344 
23518)

FYI,
-KenD

-------------- next part --------------
An embedded and charset-unspecified text was scrubbed...
Name: HashPattern.txt
URL: <http://lists.squeakfoundation.org/pipermail/vm-dev/attachments/20210820/badb651c/attachment.txt>


More information about the Vm-dev mailing list