Skip to content

Instantly share code, notes, and snippets.

View verdy-p's full-sized avatar

Philippe Verdy verdy-p

  • Niort, France
  • 11:41 (UTC +01:00)
View GitHub Profile
@verdy-p
verdy-p / hashcompare.lua
Last active March 6, 2026 06:48 — forked from cloudwu/hashcompare.lua
Compare some hash function for lua table implementation
--[[
370104 words from https://github.com/dwyl/english-words/blob/master/words_alpha.txt
3/4 5/8 7/8 9/16 11/16 13/16 15/32 17/32 19/32 21/32
(h << 5) + (h >> 2) + x: (3)84874 (4)81670 (4)113326 (4)80336 (2)96169 (5)111520 (4)125243 (3)79309 (4)87762 (5)95643
(h << 4) + (h >> 3) + x: (2)84819 *(1)81351 (3)113283 (5)80439 (3)96264 (2)111197 (3)125200 (4)79486 (2)87582 (2)95430
(h << 5) - (h >> 2) + x: *(1)84464 (2)81428 (2)113108 (2)80201 (4)96464 (4)111469 *(1)125052 (2)79222 (3)87666 (3)95466
(h << 4) - (h >> 3) + x: (4)85050 (3)81587 *(1)113084 *(1)80112 *(1)96131 *(1)111134 (2)125185 *(1)79163 *(1)87361 *(1)95239
((h + x) * 0xAAAB) >> 3: (5)85143 (5)81973 (5)113538 (3)80323 (5)96593 (3)111401 (5)125306 (5)79636 (5)88120 (4)95536
]]
local hashes = {