Signed-off-by: Richard Chapman <rchapman@hpccsystems.com>
@@ -111,7 +111,7 @@ private:
template<class T> T &IpMapOf<T>::lookup(const ServerIdentifier &ip) const
{
- unsigned hash = ip.hash() & 0xff;
+ unsigned hash = ip.fasthash() & 0xff;
for (;;)
const list *head = table[hash].load(std::memory_order_acquire);
@@ -61,7 +61,11 @@ public:
}
unsigned hash() const
- return netAddress;
+ return hashc((const byte *)&netAddress,sizeof(netAddress),0);
+ }
+ unsigned fasthash() const
+ {
+ return netAddress >> 24;
inline void setIp(const IpAddress &_ip)