diff options
| author | Pieter Wuille <[email protected]> | 2016-05-06 20:47:12 +0200 |
|---|---|---|
| committer | Pieter Wuille <[email protected]> | 2016-05-17 20:04:46 +0200 |
| commit | 382c871d28b95cc52309a128edd8dc23822bcd60 (patch) | |
| tree | b1a769dd5188ad4785e73006941b4f20d5fdc82f /src/coins.cpp | |
| parent | Add SipHash-2-4 primitives to hash (diff) | |
| download | discoin-382c871d28b95cc52309a128edd8dc23822bcd60.tar.xz discoin-382c871d28b95cc52309a128edd8dc23822bcd60.zip | |
Use SipHash-2-4 for CCoinsCache index
This is ~1.7x slower than the Lookup3-of-Xor-with-salt construct we were
using before, but it is a primitive designed for exactly this.
Diffstat (limited to 'src/coins.cpp')
| -rw-r--r-- | src/coins.cpp | 6 |
1 files changed, 5 insertions, 1 deletions
diff --git a/src/coins.cpp b/src/coins.cpp index 1c329740b..b7dd293d6 100644 --- a/src/coins.cpp +++ b/src/coins.cpp @@ -56,7 +56,11 @@ void CCoinsViewBacked::SetBackend(CCoinsView &viewIn) { base = &viewIn; } bool CCoinsViewBacked::BatchWrite(CCoinsMap &mapCoins, const uint256 &hashBlock) { return base->BatchWrite(mapCoins, hashBlock); } CCoinsViewCursor *CCoinsViewBacked::Cursor() const { return base->Cursor(); } -CCoinsKeyHasher::CCoinsKeyHasher() : salt(GetRandHash()) {} +SaltedTxidHasher::SaltedTxidHasher() +{ + GetRandBytes((unsigned char*)&k0, sizeof(k0)); + GetRandBytes((unsigned char*)&k1, sizeof(k1)); +} CCoinsViewCache::CCoinsViewCache(CCoinsView *baseIn) : CCoinsViewBacked(baseIn), hasModifier(false), cachedCoinsUsage(0) { } |