mirror of
https://github.com/bitcoin/bitcoin.git
synced 2026-01-21 07:39:08 +01:00
optimization: migrate SipHashUint256 to PresaltedSipHasher
Replaces standalone `SipHashUint256` with an `operator()` overload in `PresaltedSipHasher`. Updates all hasher classes (`SaltedUint256Hasher`, `SaltedTxidHasher`, `SaltedWtxidHasher`) to use `PresaltedSipHasher` internally, enabling the same constant-state caching optimization while keeping behavior unchanged. Benchmark was also adjusted to cache the salting part.
This commit is contained in:
@@ -7,17 +7,20 @@
|
||||
#include <span.h>
|
||||
#include <util/hasher.h>
|
||||
|
||||
SaltedUint256Hasher::SaltedUint256Hasher() :
|
||||
k0{FastRandomContext().rand64()},
|
||||
k1{FastRandomContext().rand64()} {}
|
||||
SaltedUint256Hasher::SaltedUint256Hasher() : m_hasher{
|
||||
FastRandomContext().rand64(),
|
||||
FastRandomContext().rand64()}
|
||||
{}
|
||||
|
||||
SaltedTxidHasher::SaltedTxidHasher() :
|
||||
k0{FastRandomContext().rand64()},
|
||||
k1{FastRandomContext().rand64()} {}
|
||||
SaltedTxidHasher::SaltedTxidHasher() : m_hasher{
|
||||
FastRandomContext().rand64(),
|
||||
FastRandomContext().rand64()}
|
||||
{}
|
||||
|
||||
SaltedWtxidHasher::SaltedWtxidHasher() :
|
||||
k0{FastRandomContext().rand64()},
|
||||
k1{FastRandomContext().rand64()} {}
|
||||
SaltedWtxidHasher::SaltedWtxidHasher() : m_hasher{
|
||||
FastRandomContext().rand64(),
|
||||
FastRandomContext().rand64()}
|
||||
{}
|
||||
|
||||
SaltedOutpointHasher::SaltedOutpointHasher(bool deterministic) : m_hasher{
|
||||
deterministic ? 0x8e819f2607a18de6 : FastRandomContext().rand64(),
|
||||
|
||||
Reference in New Issue
Block a user