aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--client/js/app/yarn.lock28
-rw-r--r--searchlib/src/tests/queryeval/sparse_vector_benchmark/sparse_vector_benchmark_test.cpp62
2 files changed, 45 insertions, 45 deletions
diff --git a/client/js/app/yarn.lock b/client/js/app/yarn.lock
index 7074aa923ec..c2a56b54b1d 100644
--- a/client/js/app/yarn.lock
+++ b/client/js/app/yarn.lock
@@ -2605,9 +2605,9 @@ eslint-plugin-prettier@^5:
synckit "^0.8.6"
eslint-plugin-react-hooks@^4:
- version "4.6.0"
- resolved "https://registry.yarnpkg.com/eslint-plugin-react-hooks/-/eslint-plugin-react-hooks-4.6.0.tgz#4c3e697ad95b77e93f8646aaa1630c1ba607edd3"
- integrity sha512-oFc7Itz9Qxh2x4gNHStv3BqJq54ExXmfC+a1NjAta66IAN87Wu0R/QArgIS9qKzX3dXKPI9H5crl9QchNMY9+g==
+ version "4.6.1"
+ resolved "https://registry.yarnpkg.com/eslint-plugin-react-hooks/-/eslint-plugin-react-hooks-4.6.1.tgz#85a7e271da14ae4eb4ed717abb4db6e99700550f"
+ integrity sha512-Ck77j8hF7l9N4S/rzSLOWEKpn994YH6iwUK8fr9mXIaQvGpQYmOnQLbiue1u5kI5T1y+gdgqosnEAO9NCz0DBg==
eslint-plugin-react-perf@^3:
version "3.3.2"
@@ -4700,12 +4700,12 @@ queue-microtask@^1.2.2:
integrity sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==
react-dom@^18:
- version "18.2.0"
- resolved "https://registry.yarnpkg.com/react-dom/-/react-dom-18.2.0.tgz#22aaf38708db2674ed9ada224ca4aa708d821e3d"
- integrity sha512-6IMTriUmvsjHUjNtEDudZfuDQUoWXVxKHhlEGSk81n4YFS+r/Kl99wXiwlVXtPBtJenozv2P+hxDsw9eA7Xo6g==
+ version "18.3.0"
+ resolved "https://registry.yarnpkg.com/react-dom/-/react-dom-18.3.0.tgz#98a3a1cc4e471d517c2a084f38ab1d58d02cada7"
+ integrity sha512-zaKdLBftQJnvb7FtDIpZtsAIb2MZU087RM8bRDZU8LVCCFYjPTsDZJNFUWPcVz3HFSN1n/caxi0ca4B/aaVQGQ==
dependencies:
loose-envify "^1.1.0"
- scheduler "^0.23.0"
+ scheduler "^0.23.1"
react-is@^16.13.1, react-is@^16.7.0:
version "16.13.1"
@@ -4757,9 +4757,9 @@ react-transition-group@4.4.2:
prop-types "^15.6.2"
react@^18:
- version "18.2.0"
- resolved "https://registry.yarnpkg.com/react/-/react-18.2.0.tgz#555bd98592883255fa00de14f1151a917b5d77d5"
- integrity sha512-/3IjMdb2L9QbBdWiW5e3P2/npwMBaU9mHCSCUzNln0ZCYbcfTsGbTJrU/kGemdH2IWmB2ioZ+zkxtmq6g09fGQ==
+ version "18.3.0"
+ resolved "https://registry.yarnpkg.com/react/-/react-18.3.0.tgz#84386d0a36fdf5ef50fa5755b7812bdfb76194a5"
+ integrity sha512-RPutkJftSAldDibyrjuku7q11d3oy6wKOyPe5K1HA/HwwrXcEqBdHsLypkC2FFYjP7bPUa6gbzSBhw4sY2JcDg==
dependencies:
loose-envify "^1.1.0"
@@ -4961,10 +4961,10 @@ sane@^4.0.3:
minimist "^1.1.1"
walker "~1.0.5"
-scheduler@^0.23.0:
- version "0.23.0"
- resolved "https://registry.yarnpkg.com/scheduler/-/scheduler-0.23.0.tgz#ba8041afc3d30eb206a487b6b384002e4e61fdfe"
- integrity sha512-CtuThmgHNg7zIZWAXi3AsyIzA3n4xx7aNyjwC2VJldO2LMVDhFK+63xGqq6CsJH4rTAt6/M+N4GhZiDYPx9eUw==
+scheduler@^0.23.1:
+ version "0.23.1"
+ resolved "https://registry.yarnpkg.com/scheduler/-/scheduler-0.23.1.tgz#ef964a7936d7cbe8f7bc0d38fc479a823aed2923"
+ integrity sha512-5GKS5JGfiah1O38Vfa9srZE4s3wdHbwjlCrvIookrg2FO9aIwKLOJXuJQFlEfNcVSOXuaL2hzDeY20uVXcUtrw==
dependencies:
loose-envify "^1.1.0"
diff --git a/searchlib/src/tests/queryeval/sparse_vector_benchmark/sparse_vector_benchmark_test.cpp b/searchlib/src/tests/queryeval/sparse_vector_benchmark/sparse_vector_benchmark_test.cpp
index ae2c0cac76f..94ecd8fa539 100644
--- a/searchlib/src/tests/queryeval/sparse_vector_benchmark/sparse_vector_benchmark_test.cpp
+++ b/searchlib/src/tests/queryeval/sparse_vector_benchmark/sparse_vector_benchmark_test.cpp
@@ -9,7 +9,6 @@
#include <vespa/searchlib/queryeval/andnotsearch.h>
#include <vespa/searchlib/queryeval/andsearch.h>
#include <vespa/searchlib/queryeval/dot_product_search.h>
-#include <vespa/vespalib/util/rand48.h>
#include <vespa/searchlib/queryeval/orsearch.h>
#include <vespa/searchlib/queryeval/simpleresult.h>
#include <vespa/searchlib/queryeval/wand/weak_and_search.h>
@@ -27,9 +26,9 @@ namespace {
struct Writer {
FILE *file;
- Writer(const std::string &file_name) {
+ explicit Writer(const std::string &file_name) {
file = fopen(file_name.c_str(), "w");
- assert(file != 0);
+ assert(file != nullptr);
}
void write(const char *data, size_t size) const {
fwrite(data, 1, size, file);
@@ -53,7 +52,7 @@ private:
Writer _html;
public:
- Report(const std::string &file) : _html(file) {
+ explicit Report(const std::string &file) : _html(file) {
_html.fmt("<html>\n");
_html.fmt("<head><title>Sparse Vector Search Benchmark Report</title></head>\n");
_html.fmt("<body>\n");
@@ -82,7 +81,7 @@ private:
public:
using UP = std::unique_ptr<Graph>;
- Graph(const std::string &file) : _writer(file) {}
+ explicit Graph(const std::string &file) : _writer(file) {}
void addValue(double x, double y) { _writer.fmt("%g %g\n", x, y); }
};
@@ -98,8 +97,10 @@ private:
public:
using UP = std::unique_ptr<Plot>;
- Plot(const std::string &title) : _name(vespalib::make_string("plot.%d", _plots++)), _graphs(0),
- _writer(vespalib::make_string("%s.gnuplot", _name.c_str())) {
+ explicit Plot(const std::string &title)
+ : _name(vespalib::make_string("plot.%d", _plots++)), _graphs(0),
+ _writer(vespalib::make_string("%s.gnuplot", _name.c_str()))
+ {
std::string png_file = vespalib::make_string("%s.png", _name.c_str());
_writer.fmt("set term png size 1200,800\n");
_writer.fmt("set output '%s'\n", png_file.c_str());
@@ -118,10 +119,10 @@ public:
_writer.fmt("%s '%s' using 1:2 title '%s' w lines",
(_graphs == 0) ? "plot " : ",", file.c_str(), legend.c_str());
++_graphs;
- return Graph::UP(new Graph(file));
+ return std::make_unique<Graph>(file);
}
- static UP createPlot(const std::string &title) { return UP(new Plot(title)); }
+ static UP createPlot(const std::string &title) { return std::make_unique<Plot>(title); }
};
int Plot::_plots = 0;
@@ -137,19 +138,19 @@ struct ChildFactory {
ChildFactory() {}
virtual std::string name() const = 0;
virtual SearchIterator::UP createChild(uint32_t idx, uint32_t limit) const = 0;
- virtual ~ChildFactory() {}
+ virtual ~ChildFactory() = default;
};
struct SparseVectorFactory {
virtual std::string name() const = 0;
virtual SearchIterator::UP createSparseVector(ChildFactory &childFactory, uint32_t childCnt, uint32_t limit) const = 0;
- virtual ~SparseVectorFactory() {}
+ virtual ~SparseVectorFactory() = default;
};
struct FilterStrategy {
virtual std::string name() const = 0;
virtual SearchIterator::UP createRoot(SparseVectorFactory &vectorFactory, ChildFactory &childFactory, uint32_t childCnt, uint32_t limit) const = 0;
- virtual ~FilterStrategy() {}
+ virtual ~FilterStrategy() = default;
};
//-----------------------------------------------------------------------------
@@ -158,7 +159,7 @@ struct ModSearch : SearchIterator {
uint32_t step;
uint32_t limit;
ModSearch(uint32_t step_in, uint32_t limit_in) : step(step_in), limit(limit_in) { setDocId(step); }
- virtual void doSeek(uint32_t docid) override {
+ void doSeek(uint32_t docid) override {
assert(docid > getDocId());
uint32_t hit = (docid / step) * step;
if (hit < docid) {
@@ -171,14 +172,14 @@ struct ModSearch : SearchIterator {
setAtEnd();
}
}
- virtual void doUnpack(uint32_t) override {}
+ void doUnpack(uint32_t) override {}
};
struct ModSearchFactory : ChildFactory {
uint32_t bias;
ModSearchFactory() : bias(1) {}
explicit ModSearchFactory(int b) : bias(b) {}
- virtual std::string name() const override {
+ std::string name() const override {
return vespalib::make_string("ModSearch(%u)", bias);
}
SearchIterator::UP createChild(uint32_t idx, uint32_t limit) const override {
@@ -190,14 +191,14 @@ struct ModSearchFactory : ChildFactory {
struct VespaWandFactory : SparseVectorFactory {
uint32_t n;
- VespaWandFactory(uint32_t n_in) : n(n_in) {}
- virtual std::string name() const override {
+ explicit VespaWandFactory(uint32_t n_in) noexcept : n(n_in) {}
+ std::string name() const override {
return vespalib::make_string("VespaWand(%u)", n);
}
SearchIterator::UP createSparseVector(ChildFactory &childFactory, uint32_t childCnt, uint32_t limit) const override {
wand::Terms terms;
for (size_t i = 0; i < childCnt; ++i) {
- terms.push_back(wand::Term(childFactory.createChild(i, limit), default_weight, limit / (i + 1)));
+ terms.emplace_back(childFactory.createChild(i, limit), default_weight, limit / (i + 1));
}
return WeakAndSearch::create(terms, n, true);
}
@@ -205,16 +206,16 @@ struct VespaWandFactory : SparseVectorFactory {
struct RiseWandFactory : SparseVectorFactory {
uint32_t n;
- RiseWandFactory(uint32_t n_in) : n(n_in) {}
- virtual std::string name() const override {
+ explicit RiseWandFactory(uint32_t n_in) : n(n_in) {}
+ std::string name() const override {
return vespalib::make_string("RiseWand(%u)", n);
}
SearchIterator::UP createSparseVector(ChildFactory &childFactory, uint32_t childCnt, uint32_t limit) const override {
wand::Terms terms;
for (size_t i = 0; i < childCnt; ++i) {
- terms.push_back(wand::Term(childFactory.createChild(i, limit), default_weight, limit / (i + 1)));
+ terms.emplace_back(childFactory.createChild(i, limit), default_weight, limit / (i + 1));
}
- return SearchIterator::UP(new rise::TermFrequencyRiseWand(terms, n));
+ return std::make_unique<rise::TermFrequencyRiseWand>(terms, n);
}
};
@@ -230,7 +231,7 @@ struct WeightedSetFactory : SparseVectorFactory {
tfmd.tagAsNotNeeded();
}
}
- virtual std::string name() const override {
+ std::string name() const override {
return vespalib::make_string("WeightedSet%s%s", (field_is_filter ? "-filter" : ""), (tfmd.isNotNeeded() ? "-unranked" : ""));
}
SearchIterator::UP createSparseVector(ChildFactory &childFactory, uint32_t childCnt, uint32_t limit) const override {
@@ -257,7 +258,7 @@ struct DotProductFactory : SparseVectorFactory {
tfmd.tagAsNotNeeded();
}
}
- virtual std::string name() const override {
+ std::string name() const override {
return vespalib::make_string("DotProduct%s%s", (field_is_filter ? "-filter" : ""), (tfmd.isNotNeeded() ? "-unranked" : ""));
}
SearchIterator::UP createSparseVector(ChildFactory &childFactory, uint32_t childCnt, uint32_t limit) const override {
@@ -280,7 +281,7 @@ struct DotProductFactory : SparseVectorFactory {
};
struct OrFactory : SparseVectorFactory {
- virtual std::string name() const override {
+ std::string name() const override {
return vespalib::make_string("Or");
}
SearchIterator::UP createSparseVector(ChildFactory &childFactory, uint32_t childCnt, uint32_t limit) const override {
@@ -295,7 +296,7 @@ struct OrFactory : SparseVectorFactory {
//-----------------------------------------------------------------------------
struct NoFilterStrategy : FilterStrategy {
- virtual std::string name() const override {
+ std::string name() const override {
return vespalib::make_string("NoFilter");
}
SearchIterator::UP createRoot(SparseVectorFactory &vectorFactory, ChildFactory &childFactory, uint32_t childCnt, uint32_t limit) const override {
@@ -332,8 +333,8 @@ struct NegativeFilterAfterStrategy : FilterStrategy {
struct Result {
vespalib::duration time;
uint32_t num_hits;
- Result() : time(max_time), num_hits(0) {}
- Result(vespalib::duration t, uint32_t n) : time(t), num_hits(n) {}
+ Result() noexcept : time(max_time), num_hits(0) {}
+ Result(vespalib::duration t, uint32_t n) noexcept : time(t), num_hits(n) {}
void combine(const Result &r) {
if (time == max_time) {
*this = r;
@@ -357,7 +358,7 @@ Result run_single_benchmark(FilterStrategy &filterStrategy, SparseVectorFactory
++num_hits;
sb.unpack(sb.getDocId());
}
- return Result(timer.elapsed(), num_hits);
+ return {timer.elapsed(), num_hits};
}
//-----------------------------------------------------------------------------
@@ -384,8 +385,7 @@ public:
void benchmark(SparseVectorFactory &svf, const std::vector<uint32_t> &child_counts) {
Graph::UP graph = _plot->createGraph(svf.name());
fprintf(stderr, " search operator: %s\n", svf.name().c_str());
- for (size_t i = 0; i < child_counts.size(); ++i) {
- uint32_t childCnt = child_counts[i];
+ for (unsigned int childCnt : child_counts) {
Result result;
for (int j = 0; j < 5; ++j) {
result.combine(run_single_benchmark(_filterStrategy, svf, _childFactory, childCnt, _limit));