diff options
author | Henning Baldersheim <balder@yahoo-inc.com> | 2017-02-12 11:23:27 +0100 |
---|---|---|
committer | Henning Baldersheim <balder@yahoo-inc.com> | 2017-02-13 11:20:49 +0000 |
commit | 0aaff2abd821f79e1ea0d01bfcfb6c5325ae9a93 (patch) | |
tree | 413e84f26844857f0d7a2e73f44c9f3f1807768a /searchlib | |
parent | 5d434506794d3d9c41be1c01615b3ba030ff3575 (diff) |
Prefetching does not help.
Diffstat (limited to 'searchlib')
-rw-r--r-- | searchlib/src/vespa/searchlib/features/dotproductfeature.cpp | 8 |
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)); } |