diff options
-rw-r--r-- | client/js/app/yarn.lock | 28 | ||||
-rw-r--r-- | searchlib/src/tests/queryeval/sparse_vector_benchmark/sparse_vector_benchmark_test.cpp | 62 |
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)); |