From 6527759d1eb37a54cfee5ba2d62b3402a4975679 Mon Sep 17 00:00:00 2001 From: tursom Date: Tue, 25 Apr 2023 11:38:44 +0800 Subject: [PATCH] improve bloom HashCode operation --- util/bloom/Bloom.go | 12 ++++++++---- 1 file changed, 8 insertions(+), 4 deletions(-) diff --git a/util/bloom/Bloom.go b/util/bloom/Bloom.go index 705b8a8..ce76de0 100644 --- a/util/bloom/Bloom.go +++ b/util/bloom/Bloom.go @@ -20,9 +20,10 @@ var ( type ( Bloom struct { lang.BaseObject - m lang.UInt8Array - k uint - c uint + m lang.UInt8Array + k uint + c uint + hashCode int32 } ) @@ -128,7 +129,10 @@ func (b *Bloom) Equals(t lang.Object) bool { } func (b *Bloom) HashCode() int32 { - return int32(murmur3.Sum32(b.m.Bytes())) + if b.hashCode == 0 { + b.hashCode = int32(murmur3.Sum32(b.m.Bytes())) + } + return b.hashCode } func (b *Bloom) Merge(t *Bloom) bool {