diff options
author | Henning Baldersheim <balder@yahoo-inc.com> | 2024-05-14 13:01:54 +0200 |
---|---|---|
committer | GitHub <noreply@github.com> | 2024-05-14 13:01:54 +0200 |
commit | b9864c970ae741ad97aacaf487cefed8424c9d8c (patch) | |
tree | 12f00a27d768453a24b5ac7951e2d69ac7e34524 | |
parent | 33166c63cd5c27a4f6c09b9e5b92f64ea36ee7ab (diff) | |
parent | 3aa3f9ea8104e9d72c23d48050b6c6d94c0d7d14 (diff) |
Merge pull request #31195 from vespa-engine/balder/do-not-use-limit-as-it-prevents-vectorisation
Drop short circuit optimisation as it prevents vectorisation.
-rw-r--r-- | searchlib/src/tests/tensor/distance_calculator/distance_calculator_test.cpp | 1 | ||||
-rw-r--r-- | searchlib/src/vespa/searchlib/tensor/euclidean_distance.cpp | 4 |
2 files changed, 2 insertions, 3 deletions
diff --git a/searchlib/src/tests/tensor/distance_calculator/distance_calculator_test.cpp b/searchlib/src/tests/tensor/distance_calculator/distance_calculator_test.cpp index 4ffc1fe366e..136878f0ea5 100644 --- a/searchlib/src/tests/tensor/distance_calculator/distance_calculator_test.cpp +++ b/searchlib/src/tests/tensor/distance_calculator/distance_calculator_test.cpp @@ -9,7 +9,6 @@ #include <vespa/searchlib/test/attribute_builder.h> #include <vespa/vespalib/gtest/gtest.h> #include <vespa/vespalib/util/exceptions.h> -#include <iostream> using namespace search::attribute::test; using namespace search::attribute; diff --git a/searchlib/src/vespa/searchlib/tensor/euclidean_distance.cpp b/searchlib/src/vespa/searchlib/tensor/euclidean_distance.cpp index 441ade27d1f..a7e421a4679 100644 --- a/searchlib/src/vespa/searchlib/tensor/euclidean_distance.cpp +++ b/searchlib/src/vespa/searchlib/tensor/euclidean_distance.cpp @@ -44,11 +44,11 @@ public: double score = 1.0 / (1.0 + d); return score; } - double calc_with_limit(TypedCells rhs, double limit) const noexcept override { + double calc_with_limit(TypedCells rhs, double) const noexcept override { vespalib::ConstArrayRef<AttributeCellType> rhs_vector = rhs.unsafe_typify<AttributeCellType>(); double sum = 0.0; size_t sz = _lhs_vector.size(); - for (size_t i = 0; i < sz && sum <= limit; ++i) { + for (size_t i = 0; i < sz; ++i) { double diff = _lhs_vector[i] - rhs_vector[i]; sum += diff*diff; } |