From a8daf34a080f04d356fbd236e08a4af08b997ed1 Mon Sep 17 00:00:00 2001 From: JoelKatz Date: Wed, 6 Mar 2013 01:10:23 -0800 Subject: [PATCH] Compute SHAMapNode hashes faster. --- src/cpp/ripple/SHAMap.cpp | 9 ++------- 1 file changed, 2 insertions(+), 7 deletions(-) diff --git a/src/cpp/ripple/SHAMap.cpp b/src/cpp/ripple/SHAMap.cpp index 651963806..6bc488ae0 100644 --- a/src/cpp/ripple/SHAMap.cpp +++ b/src/cpp/ripple/SHAMap.cpp @@ -23,16 +23,11 @@ DECLARE_INSTANCE(SHAMapTreeNode); void SHAMapNode::setHash() const { -#if 0 - std::size_t h = theApp->getNonceST() + (mDepth * 0x9e3779b9); - mHash = mNodeID.hash_combine(h); -#else std::size_t h = theApp->getNonceST() + (mDepth * 0x9e3779b9); const unsigned int *ptr = reinterpret_cast(mNodeID.begin()); - for (int i = (mDepth + 3) / 4; i != 0; --i) - boost::hash_combine(h, *ptr++); + for (int i = (mDepth + 7) / 8; i != 0; --i) + h = (h * 0x9e3779b9) ^ *ptr++; mHash = h; -#endif } std::size_t hash_value(const SHAMapNode& mn)