From 9cd70fb589d3e4730d14ffa5df70c3377578a5fa Mon Sep 17 00:00:00 2001 From: Christopher Jeffrey Date: Mon, 30 Jan 2017 15:44:29 -0800 Subject: [PATCH] hostlist: improve hash perf. --- lib/net/hostlist.js | 19 +++++++------------ 1 file changed, 7 insertions(+), 12 deletions(-) diff --git a/lib/net/hostlist.js b/lib/net/hostlist.js index 25d9d960..37f852cb 100644 --- a/lib/net/hostlist.js +++ b/lib/net/hostlist.js @@ -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]; };