home bbs files messages ]

Forums before death by AOL, social media and spammers... "We can't have nice things"

   comp.lang.asm.x86      Ahh, the lost art of x86 assembly      4,675 messages   

[   << oldest   |   < older   |   list   |   newer >   |   newest >>   ]

   Message 3,671 of 4,675   
   Rod Pemberton to Terje Mathisen   
   Re: DJB2   
   12 Nov 18 04:52:05   
   
   From: invalid@nospicedham.lkntrgzxc.com   
      
   On Sun, 11 Nov 2018 12:45:50 +0100   
   Terje Mathisen  wrote:   
      
   > Rod Pemberton wrote:   
   > > On Sat, 10 Nov 2018 12:39:48 +0100   
   > > "R.Wieser"  wrote:   
      
   > >> The problem is that you have degraded the hash to an 8-bit value,   
   > >   
   > > You really can't "degrade" the original hash much as it's terrible.   
   > >   
   > > The problem is that ASCII text has insufficient randomness in it's   
   > > bits to generate good hash values (i.e., low collisions) from such   
   > > an algorithm.  The only solutions are a) increase the randomness of   
   > > the input to distribute the hash values more evenly across the hash   
   > > domain, or b) increase the size of the hash space, e.g., 16-bit to   
   > > 32-bit.   
   > >   
   > > I tested about 50 hash functions with brute-force text input about a   
   > > decade ago (comp.lang.misc):   
   > >   
   > > [link]   
   > > (Usenet msg-id hd69d5$umo$1@aioe.org)   
   >   
   > Rod, have you ever looked at the xxHash functions?   
   >   
   > They come in 32 and 64-bit versions, and achieve very high speed due   
   > to effectively running 4 hash chains in parallel, with the only real   
   > mixing between the chains at the very end. This gets rid of pretty   
   > much all the latency problems with classic hash algos.   
   >   
      
   I do appreciate the update, but that was the last time I did anything   
   with hash functions.  It's good that people actually started testing   
   the quality of these hashes and began developing better and faster   
   functions.   
      
   BTW, I didn't use any hash in the list I provided.  I had a small fixed   
   set of words.  So, I used brute force testing, i.e., I wrote a program   
   to test changes to a function.  This was to tweak the simple function   
   until it produced very low collisions for that fixed set.  It's an   
   8-bit hash for a list of 120 words.  The result is not quite a perfect   
   hash as the chosen solution has one collision, on the upper- and   
   lower-case of the same word ...   
      
   I describe more of what I did here in a comp.lang.forth post.  Skip   
   down to the "Do you think this is cool?" line.   
   https://groups.google.com/d/msg/comp.lang.forth/xfKyC8b3oOQ/zQSOSgdsVTUJ   
   (Usenet msg ID op.xiev3qap6zenlw@localhost)   
      
   Rod Pemberton   
   --   
   "The most ironic outcome is the most probable." Elon Musk   
   Could someone tell Elon that means Tesla implodes? ...   
      
   --- SoupGate-Win32 v1.05   
    * Origin: you cannot sedate... all the things you hate (1:229/2)   

[   << oldest   |   < older   |   list   |   newer >   |   newest >>   ]


(c) 1994,  bbs@darkrealms.ca