diff --git a/sdks/go/pkg/beam/core/runtime/exec/hash.go b/sdks/go/pkg/beam/core/runtime/exec/hash.go index db2d0b612bc5..70fbfa0b0f9d 100644 --- a/sdks/go/pkg/beam/core/runtime/exec/hash.go +++ b/sdks/go/pkg/beam/core/runtime/exec/hash.go @@ -19,7 +19,7 @@ import ( "encoding/binary" "fmt" "hash" - "hash/fnv" + "hash/maphash" "math" "reflect" @@ -35,8 +35,7 @@ type elementHasher interface { } func makeElementHasher(c *coder.Coder, wc *coder.WindowCoder) elementHasher { - // TODO(lostluck): move to a faster hashing library once we can take dependencies easily. - hasher := fnv.New64a() + hasher := &maphash.Hash{} we := MakeWindowEncoder(wc) switch c.Kind { case coder.Bytes: diff --git a/sdks/go/pkg/beam/core/runtime/exec/hash_test.go b/sdks/go/pkg/beam/core/runtime/exec/hash_test.go index 7d2c3deef145..528dfd07baaf 100644 --- a/sdks/go/pkg/beam/core/runtime/exec/hash_test.go +++ b/sdks/go/pkg/beam/core/runtime/exec/hash_test.go @@ -18,7 +18,7 @@ package exec import ( "encoding/json" "fmt" - "hash/fnv" + "hash/maphash" "reflect" "strings" "testing" @@ -32,7 +32,7 @@ import ( func BenchmarkPrimitives(b *testing.B) { var value FullValue - myHash := fnv.New64a() + myHash := &maphash.Hash{} wfn := window.NewGlobalWindows() we := MakeWindowEncoder(wfn.Coder()) b.Run("int", func(b *testing.B) {