summaryrefslogtreecommitdiffstats
path: root/searchlib/src/tests/queryeval
Commit message (Collapse)AuthorAgeFilesLines
* use thread_local for blueprint optionsHåvard Pettersen2024-03-253-3/+27
|
* find crossoverHåvard Pettersen2024-03-252-4/+151
|
* Add benchmarking of WeakAnd operators.Geir Storli2024-03-225-33/+133
| | | | | Since some blueprints have shared state (e.g. ParallelWeakAndBlueprint), we must re-create the blueprint inside the match loop.
* tag blueprints with strictnessHåvard Pettersen2024-03-2017-348/+472
| | | | | | The strict-aware sort function is responsible for propagating and tagging strictness throughout the blueprint tree. Use pre-tagged strictness in fetchPostings, createSearch and createFilterSearch.
* Add factory for creating a blueprint for a given benchmark setup.Geir Storli2024-03-195-125/+219
|
* Move code to build attribute(s) to a separate class.Geir Storli2024-03-196-146/+208
|
* Refactor and move common code.Geir Storli2024-03-184-61/+92
|
* Move normalize_class_name to vespalib.Tor Egge2024-03-141-5/+7
|
* stop using non-heap strict ORHåvard Pettersen2024-03-131-5/+7
|
* Prepare benchmarks for analyzing term search in attributes and disk index.Geir Storli2024-03-051-29/+43
|
* Merge pull request #30455 from ↵Geir Storli2024-03-045-78/+304
|\ | | | | | | | | vespa-engine/geirst/iterator-benchmark-in-disk-index Add initial support to benchmark over a disk index field.
| * Add initial support to benchmark over a disk index field.Geir Storli2024-03-015-78/+304
| |
* | Deinline SimpleFixture destructor in MonitoringSearchIterator unit test.Tor Egge2024-03-021-0/+3
|/
* Extend benchmark with more test cases and options.Geir Storli2024-02-291-32/+66
| | | | | - Option to force an iterator to be strict in a non-strict context. - Option to test a subset of the combinations between a simulated filter and operator.
* split estimates from incremental flow calculationsHåvard Pettersen2024-02-272-44/+85
| | | | replace FlowCalc with AnyFlow and add RankFlow and BlenderFlow
* added generic type-erased flow classHåvard Pettersen2024-02-231-20/+29
|
* know the in-flow when sorting blueprintsHåvard Pettersen2024-02-236-41/+57
| | | | | | also added the option and tagging mechanic needed to force selected blueprints to be strict even in a non-strict context as well as calculating how much time this saves you.
* Support simulation of a filter in non-strict context.Geir Storli2024-02-211-56/+91
|
* make flow calc mandatory (pure virtual)Håvard Pettersen2024-02-191-0/+3
| | | | add appropriate flow calc for various blueprints
* Merge pull request #30323 from ↵Geir Storli2024-02-191-148/+243
|\ | | | | | | | | vespa-engine/geirst/extend-iterator-benchmark-program Extend iterator benchmark program
| * Minor improvements after code review.Geir Storli2024-02-191-8/+8
| |
| * Prettify printing of BenchmarkResult.Geir Storli2024-02-191-12/+19
| |
| * Analyze complex leaf and term search over attributes with fast-search.Geir Storli2024-02-161-116/+202
| |
| * Refactor and use auto instead of template argument.Geir Storli2024-02-151-23/+25
| |
* | Merge pull request #30315 from ↵Geir Storli2024-02-191-13/+17
|\ \ | | | | | | | | | | | | vespa-engine/toregge/rewrite-search-queryeval-source-blender-unit-test-to-gtest Rewrite source blender unit test to gtest.
| * | Rewrite source blender unit test to gtest.Tor Egge2024-02-181-13/+17
| | |
* | | Merge pull request #30314 from ↵Geir Storli2024-02-191-86/+102
|\ \ \ | | | | | | | | | | | | | | | | vespa-engine/toregge/rewrite-search-queryeval-multi-bitvector-iterator-unit-test-to-gtest Rewrite search::queryeval::MultiBitVectorIterator unit test to gtest.
| * | | Rewrite search::queryeval::MultiBitVectorIterator unit test to gtest.Tor Egge2024-02-181-86/+102
| |/ /
* | | Merge pull request #30313 from ↵Geir Storli2024-02-191-102/+118
|\ \ \ | | | | | | | | | | | | | | | | vespa-engine/toregge/rewrite-search-queryeval-monitoring-search-iterator-unit-test-toi-gtest Rewrite search::queryeval::MonitoringSearchIterator unit test to gtest.
| * | | Rewrite search::queryeval::MonitoringSearchIterator unit test to gtest.Tor Egge2024-02-181-102/+118
| |/ /
* / / Rewrite search::queryeval::DotProductSearch unit test to gtest.Tor Egge2024-02-181-40/+62
|/ /
* | Merge pull request #30295 from vespa-engine/havardpe/use-flow-for-fetch-postingsGeir Storli2024-02-162-5/+73
|\ \ | |/ |/| use flow for fetchPostings
| * use flow for fetchPostingsHåvard Pettersen2024-02-162-5/+73
| | | | | | | | | | note that only AND/OR are wired to their respective flows here, which means only strict OR should change (all children getting full in-flow)
* | Analyze term search in attributes without fast-search.Geir Storli2024-02-141-56/+264
|/ | | | | This results in a breakdown of average "ms per cost" for the different attribute types, with suggestions on how the blueprint costs can be tuned to match the benchmark results.
* baseline flow stats for complex leafsHåvard Pettersen2024-02-131-7/+10
|
* Merge pull request #30255 from vespa-engine/geirst/extend-iterator-benchmarkGeir Storli2024-02-131-46/+79
|\ | | | | Extend search iterator benchmark program
| * Use search iterator class name directly.Geir Storli2024-02-131-13/+2
| |
| * Add name of the search iterator in a benchmark result.Geir Storli2024-02-131-6/+19
| |
| * Support AND operator and reduce the time for populating attributes.Geir Storli2024-02-131-41/+72
| |
* | account for heap cost in strict ORHåvard Pettersen2024-02-122-103/+100
|/ | | | | | | | - make it easier to do flow analysis directly on FlowStats - use FlowStats in tests (less custom test code) - added flow_tuning.h for special sauce - strict flow must now have in-flow of 1.0 - split low-level flow tests into full/partial
* benchmark effect of being strict in a non-strict contextHåvard Pettersen2024-02-091-5/+50
|
* Add low-level benchmark program for search iterators.Geir Storli2024-02-082-0/+406
| | | | | Currently, it can benchmark the following query operators over an attribute vector: Single term, In, WeightedSet, DotProduct, Or.
* benchmark non-strict iteratorsHåvard Pettersen2024-02-071-27/+129
| | | | | measure ns per seek also calculate experimental flow stats and calculate ms per cost
* make default flow stats more explicitHåvard Pettersen2024-02-066-0/+19
| | | | | | for both simple and complex leafs account for number of inner children in complex leafs account for seek nesting for complex leafs with children
* adjust strict OR flowHåvard Pettersen2024-02-052-15/+14
| | | | | | | A simple heap-based strict OR is not able to benefit from short circuiting of the per-document evaluation. An 'optimal' strict OR would need more book-keeping and would probably be slower than the simple implementation in most normal cases.
* Merge pull request #30140 from ↵Geir Storli2024-02-053-14/+15
|\ | | | | | | | | vespa-engine/havardpe/re-wire-flow-stats-calculation re-wire flow stats in blueprints
| * re-wire flow stats in blueprintsHåvard Pettersen2024-02-023-14/+15
| |
* | use heap for strict orHåvard Pettersen2024-02-023-5/+5
| |
* | minor adjustments of strict heap ORHåvard Pettersen2024-02-011-6/+14
|/
* simple heap-based strict OR implementationHåvard Pettersen2024-01-311-21/+40
|