From 383885b34791e120e2feb5686006f33b9924f359 Mon Sep 17 00:00:00 2001 From: Henning Baldersheim Date: Wed, 20 Dec 2017 19:25:28 +0100 Subject: Use XXH32 for hashing. --- .../vespa/eval/tensor/sparse/sparse_tensor_address_ref.h | 13 ++++--------- 1 file changed, 4 insertions(+), 9 deletions(-) diff --git a/eval/src/vespa/eval/tensor/sparse/sparse_tensor_address_ref.h b/eval/src/vespa/eval/tensor/sparse/sparse_tensor_address_ref.h index 321690085be..91a5307d9d0 100644 --- a/eval/src/vespa/eval/tensor/sparse/sparse_tensor_address_ref.h +++ b/eval/src/vespa/eval/tensor/sparse/sparse_tensor_address_ref.h @@ -3,14 +3,10 @@ #pragma once #include +#include #include -namespace vespalib { - -// From vespalib/util/hashmap.h -size_t hashValue(const void * buf, size_t sz); - -namespace tensor { +namespace vespalib::tensor { /** * A reference to a compact sparse immutable address to a tensor cell. @@ -44,7 +40,7 @@ public: uint32_t hash() const { return _hash; } - uint32_t calcHash() const { return hashValue(_start, _size); } + uint32_t calcHash() const { return XXH32(_start, _size, 0); } bool operator<(const SparseTensorAddressRef &rhs) const { size_t minSize = std::min(_size, rhs._size); @@ -67,5 +63,4 @@ public: uint32_t size() const { return _size; } }; -} // namespace vespalib::tensor -} // namespace vespalib +} -- cgit v1.2.3 From ab386df7d87cc2770195086092a99082cd5d3e05 Mon Sep 17 00:00:00 2001 From: Henning Baldersheim Date: Wed, 10 Jan 2018 11:38:24 +0100 Subject: Add missing newline at eof and align members. --- eval/src/vespa/eval/tensor/sparse/sparse_tensor_address_ref.h | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/eval/src/vespa/eval/tensor/sparse/sparse_tensor_address_ref.h b/eval/src/vespa/eval/tensor/sparse/sparse_tensor_address_ref.h index 91a5307d9d0..b179b431b94 100644 --- a/eval/src/vespa/eval/tensor/sparse/sparse_tensor_address_ref.h +++ b/eval/src/vespa/eval/tensor/sparse/sparse_tensor_address_ref.h @@ -14,8 +14,8 @@ namespace vespalib::tensor { class SparseTensorAddressRef { const void *_start; - uint32_t _size; - uint32_t _hash; + uint32_t _size; + uint32_t _hash; public: SparseTensorAddressRef() : _start(nullptr), _size(0u), _hash(0u) @@ -64,3 +64,4 @@ public: }; } + -- cgit v1.2.3 From 6cea4e181685508b120ee559d3a9ba2191f5379c Mon Sep 17 00:00:00 2001 From: Henning Baldersheim Date: Wed, 10 Jan 2018 12:35:32 +0100 Subject: Different hashing gives different order. --- .../tensor_slime_serialization/tensor_slime_serialization_test.cpp | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/eval/src/tests/tensor/tensor_slime_serialization/tensor_slime_serialization_test.cpp b/eval/src/tests/tensor/tensor_slime_serialization/tensor_slime_serialization_test.cpp index e6e6c7de686..2b75503c534 100644 --- a/eval/src/tests/tensor/tensor_slime_serialization/tensor_slime_serialization_test.cpp +++ b/eval/src/tests/tensor/tensor_slime_serialization/tensor_slime_serialization_test.cpp @@ -63,8 +63,8 @@ vespalib::string twoCellsJson[3] = "] }", "{ dimensions: [ 'x', 'y' ]," " cells: [" - "{ address: { x:'1'}, value: 3.0 }," - "{ address: { y:'3'}, value: 4.0 }" + "{ address: { y:'3'}, value: 4.0 }," + "{ address: { x:'1'}, value: 3.0 }" "] }", }; } -- cgit v1.2.3