summaryrefslogtreecommitdiffstats
path: root/searchlib
diff options
context:
space:
mode:
authorHenning Baldersheim <balder@yahoo-inc.com>2017-02-12 11:23:27 +0100
committerHenning Baldersheim <balder@yahoo-inc.com>2017-02-13 11:20:49 +0000
commit0aaff2abd821f79e1ea0d01bfcfb6c5325ae9a93 (patch)
tree413e84f26844857f0d7a2e73f44c9f3f1807768a /searchlib
parent5d434506794d3d9c41be1c01615b3ba030ff3575 (diff)
Prefetching does not help.
Diffstat (limited to 'searchlib')
-rw-r--r--searchlib/src/vespa/searchlib/features/dotproductfeature.cpp8
1 files changed, 2 insertions, 6 deletions
diff --git a/searchlib/src/vespa/searchlib/features/dotproductfeature.cpp b/searchlib/src/vespa/searchlib/features/dotproductfeature.cpp
index 7ada0d5879f..fafd1955a80 100644
--- a/searchlib/src/vespa/searchlib/features/dotproductfeature.cpp
+++ b/searchlib/src/vespa/searchlib/features/dotproductfeature.cpp
@@ -61,7 +61,8 @@ DotProductExecutor<A>::DotProductExecutor(const A * attribute, const V & vector)
_attribute(attribute),
_multiplier(IAccelrated::getAccelrator()),
_vector(vector)
-{ }
+{
+}
template <typename A>
size_t
@@ -70,7 +71,6 @@ DotProductExecutor<A>::getAttributeValues(uint32_t docId, const AT * & values)
return _attribute->getRawValues(docId, values);
}
- constexpr size_t CACHE_LINE_SIZE = 64;
template <typename A>
void
DotProductExecutor<A>::execute(uint32_t docId)
@@ -78,10 +78,6 @@ DotProductExecutor<A>::execute(uint32_t docId)
const AT *values(NULL);
size_t count = getAttributeValues(docId, values);
size_t commonRange = std::min(count, _vector.size());
- const size_t numPerCacheLine = CACHE_LINE_SIZE/sizeof(AT);
- for (size_t i(0); i < _vector.size()/numPerCacheLine; i++) {
- __builtin_prefetch(values+i*numPerCacheLine, 0, 0);
- }
outputs().set_number(0, _multiplier->dotProduct(&_vector[0], reinterpret_cast<const typename A::BaseType *>(values), commonRange));
}