Skip to content

Instantly share code, notes, and snippets.

@blackmambahk
Last active January 26, 2022 01:55
Show Gist options
  • Save blackmambahk/a324b47e7a3e7fddeff8 to your computer and use it in GitHub Desktop.
Save blackmambahk/a324b47e7a3e7fddeff8 to your computer and use it in GitHub Desktop.
String Hash function
//this uses a 32bit hash with a 1/100000 collison prob for a 300 string cache
//this can has hash a 5k string 15000 per sec
//so lets say about 500 messages per msec
String.prototype.hashCode = function() {
var hash = 0, i, chr, len;
if (this.length == 0) return hash;
for (i = 0, len = this.length; i < len; i++) {
chr = this.charCodeAt(i);
hash = ((hash << 5) - hash) + chr;
hash = hash && hash; // hash |= 0; Convert to 32bit integer
}
return hash;
};
@ArashPartow
Copy link

A comprehensive list of general purpose hash functions and their implementations can found here:

https://www.partow.net/programming/hashfunctions/index.html

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment