aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorHenning Baldersheim <balder@yahoo-inc.com>2024-05-14 13:01:54 +0200
committerGitHub <noreply@github.com>2024-05-14 13:01:54 +0200
commitb9864c970ae741ad97aacaf487cefed8424c9d8c (patch)
tree12f00a27d768453a24b5ac7951e2d69ac7e34524
parent33166c63cd5c27a4f6c09b9e5b92f64ea36ee7ab (diff)
parent3aa3f9ea8104e9d72c23d48050b6c6d94c0d7d14 (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.cpp1
-rw-r--r--searchlib/src/vespa/searchlib/tensor/euclidean_distance.cpp4
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;
}