From d5f215d88e52c3c7a45ad35411e3d8fc71ea89a5 Mon Sep 17 00:00:00 2001 From: Henning Baldersheim Date: Thu, 21 Dec 2017 10:41:16 +0000 Subject: Use cheap and_modulator instead of prime modulator to avoid costly division. --- eval/src/vespa/eval/tensor/sparse/sparse_tensor.cpp | 3 ++- eval/src/vespa/eval/tensor/sparse/sparse_tensor.h | 3 ++- 2 files changed, 4 insertions(+), 2 deletions(-) (limited to 'eval') diff --git a/eval/src/vespa/eval/tensor/sparse/sparse_tensor.cpp b/eval/src/vespa/eval/tensor/sparse/sparse_tensor.cpp index b69b1cdab05..1f57e297ea1 100644 --- a/eval/src/vespa/eval/tensor/sparse/sparse_tensor.cpp +++ b/eval/src/vespa/eval/tensor/sparse/sparse_tensor.cpp @@ -188,4 +188,5 @@ SparseTensor::reduce(join_fun_t op, } -VESPALIB_HASH_MAP_INSTANTIATE(vespalib::tensor::SparseTensorAddressRef, double); +VESPALIB_HASH_MAP_INSTANTIATE_H_E_M(vespalib::tensor::SparseTensorAddressRef, double, vespalib::hash, + std::equal_to, vespalib::hashtable_base::and_modulator); diff --git a/eval/src/vespa/eval/tensor/sparse/sparse_tensor.h b/eval/src/vespa/eval/tensor/sparse/sparse_tensor.h index 2715e606729..3eeb122f48c 100644 --- a/eval/src/vespa/eval/tensor/sparse/sparse_tensor.h +++ b/eval/src/vespa/eval/tensor/sparse/sparse_tensor.h @@ -21,7 +21,8 @@ namespace vespalib::tensor { class SparseTensor : public Tensor { public: - using Cells = hash_map; + using Cells = hash_map, + std::equal_to, hashtable_base::and_modulator>; static constexpr size_t STASH_CHUNK_SIZE = 16384u; -- cgit v1.2.3