hostlist: improve hash perf.

This commit is contained in:
Christopher Jeffrey 2017-01-30 15:44:29 -08:00
parent 4740a2fff3
commit 9cd70fb589
No known key found for this signature in database
GPG Key ID: 8962AB9DE6666BBD

View File

@ -271,17 +271,12 @@ HostList.prototype.getHost = function getHost() {
*/
HostList.prototype.freshBucket = function freshBucket(entry) {
var size = 0;
var bw, hash, index;
var addr = entry.addr;
var src = entry.src;
var data, hash, index;
size += entry.addr.host.length;
size += entry.src.host.length;
bw = new StaticWriter(size);
bw.writeString(entry.addr.host, 'ascii');
bw.writeString(entry.src.host, 'ascii');
hash = murmur3(bw.render(), 0xfba4c795);
data = util.concat(addr.raw, src.raw);
hash = murmur3(data, 0xfba4c795);
index = hash % this.fresh.length;
return this.fresh[index];
@ -295,8 +290,8 @@ HostList.prototype.freshBucket = function freshBucket(entry) {
*/
HostList.prototype.usedBucket = function usedBucket(entry) {
var data = new Buffer(entry.addr.host, 'ascii');
var hash = murmur3(data, 0xfba4c795);
var addr = entry.addr;
var hash = murmur3(addr.raw, 0xfba4c795);
var index = hash % this.used.length;
return this.used[index];
};