Commit message (Collapse) | Author | Age | Files | Lines | |
---|---|---|---|---|---|
* | Merge pull request #30973 from ↵ | Håvard Pettersen | 2024-04-19 | 1 | -52/+85 |
|\ | | | | | | | | | vespa-engine/geirst/better-non-strict-cost-estimates-for-btree-iterators Use better non-strict cost estimates for btree and disk index iterators. | ||||
| * | Use better non-strict cost estimates for btree and disk index iterators. | Geir Storli | 2024-04-19 | 1 | -52/+85 |
| | | | | | | | | | | | | | | | | | | | | | | | | We previously increased the strict cost of heap-based complex blueprints (e.g OR) to avoid the problem of them being forced strict too early. More benchmarking however has shown that its better address the real problem, which is the non-strict cost of btree iterators that are childen of the ORs. Its important that the non-strict cost is most accurate with high inflows (moving towards 1.0), as the time penalty of choosing wrong is at its highest then. This adds additional benchmarks needed for analysis and updates/adjusts the parameters and formulas in flow_tuning.h to match observations. | ||||
* | | Revert "Revert "Use memory mapped disk index dictionary .ssdat file when large"" | Tor Egge | 2024-04-18 | 1 | -16/+36 |
| | | |||||
* | | Revert "Use memory mapped disk index dictionary .ssdat file when large" | Henning Baldersheim | 2024-04-18 | 1 | -36/+16 |
| | | |||||
* | | Merge pull request #30956 from ↵ | Henning Baldersheim | 2024-04-18 | 1 | -1/+1 |
|\ \ | | | | | | | | | | | | | vespa-engine/havardpe/optimize-single-child-vespa-wand optimize weak and with single child | ||||
| * | | optimize weak and with single child | Håvard Pettersen | 2024-04-17 | 1 | -1/+1 |
| |/ | |||||
* | | Merge pull request #30958 from ↵ | Henning Baldersheim | 2024-04-18 | 1 | -0/+1 |
|\ \ | | | | | | | | | | | | | vespa-engine/toregge/add-variable-length-array-comments Add variable-length array comments. | ||||
| * | | Add variable-length array comments. | Tor Egge | 2024-04-18 | 1 | -0/+1 |
| | | | |||||
* | | | Merge pull request #30934 from ↵ | Geir Storli | 2024-04-18 | 1 | -16/+36 |
|\ \ \ | |/ / |/| | | | | | | | | vespa-engine/toregge/use-memory-mapped-disk-index-dictionary-ssdat-file-when-large-and-with-sufficient-padding Use memory mapped disk index dictionary .ssdat file when large | ||||
| * | | Factor out common code to static member functions is_padded_for_memory_map | Tor Egge | 2024-04-17 | 1 | -5/+5 |
| | | | | | | | | | | | | and file_units. | ||||
| * | | Use memory mapped disk index dictionary .ssdat file when large | Tor Egge | 2024-04-16 | 1 | -16/+36 |
| | | | | | | | | | | | | and with sufficient padding. This reduces memory usage spikes. | ||||
* | | | Use correct value for has_single_subspace template param. | Henning Baldersheim | 2024-04-17 | 1 | -1/+3 |
| | | | |||||
* | | | - Optimize distance calculation for tensors with single dense subspace. | Henning Baldersheim | 2024-04-16 | 4 | -18/+21 |
| |/ |/| | | | | | | | - Let EmptySubspace be invalid. - Add noexcept to get_tensor(s). | ||||
* | | Merge pull request #30920 from ↵ | Geir Storli | 2024-04-16 | 1 | -1/+1 |
|\ \ | | | | | | | | | | | | | vespa-engine/havardpe/improve-non-strict-and-sorting pass in_flow to intermediate sort functions | ||||
| * | | pass in_flow to intermediate sort functions | Håvard Pettersen | 2024-04-15 | 1 | -1/+1 |
| | | | | | | | | | | | | | | | improve non-strict AND sorting by letting allow_force_strict affect ordering. | ||||
* | | | Merge pull request #30935 from vespa-engine/geirst/adjust-bitvector-strict-cost | Geir Storli | 2024-04-16 | 2 | -2/+23 |
|\ \ \ | |_|/ |/| | | Adjust strict cost of bitvector after benchmarking. | ||||
| * | | Adjust strict cost of bitvector after benchmarking. | Geir Storli | 2024-04-16 | 2 | -2/+23 |
| | | | | | | | | | | | | A bitvector is used to track active lids and is always part of a query. | ||||
* | | | Add comments about overflows. | Tor Egge | 2024-04-16 | 1 | -0/+20 |
| | | | |||||
* | | | Handle disk index dictionary .ssdat file being larger than 32 GiB. | Tor Egge | 2024-04-15 | 1 | -1/+1 |
| | | | |||||
* | | | Test disk index dictionary file with many long words. | Tor Egge | 2024-04-15 | 3 | -0/+120 |
|/ / | |||||
* | | Adjust strict cost of intermediate / complex leaf blueprints. | Geir Storli | 2024-04-15 | 1 | -9/+19 |
| | | | | | | | | | | | | | | This ensures that AND(filter vs complex) makes a better decision regarding when to force the complex blueprint strict. Reverse hash filter cost is adjusted accordingly. | ||||
* | | Re-adjust cost model params for IN/weightedSet/dotProduct. | Geir Storli | 2024-04-15 | 1 | -0/+7 |
| | | | | | | | | Only combinations that support reverse hash filter have a cheaper non-strict cost. | ||||
* | | Merge pull request #30913 from ↵ | Geir Storli | 2024-04-15 | 8 | -42/+350 |
|\ \ | |/ |/| | | | | | vespa-engine/geirst/benchmarking-of-intermediate-blueprints Add benchmarking of intermediate blueprints with configurable childre… | ||||
| * | Add benchmarking of intermediate blueprints with configurable children setups. | Geir Storli | 2024-04-15 | 8 | -42/+350 |
| | | | | | | | | | | | | In particular this adds benchmarking of: * AND(filter, IN (100 children)) * AND(filter, OR (100 children)) | ||||
* | | Remove unused variables. | Tor Egge | 2024-04-15 | 1 | -2/+0 |
|/ | |||||
* | Merge pull request #30903 from vespa-engine/havardpe/andflow-strictness-reorder | Geir Storli | 2024-04-12 | 1 | -121/+120 |
|\ | | | | | add code to AndFlow that can perform additional incremental reordering | ||||
| * | add code to AndFlow that can perform additional incremental reordering | Håvard Pettersen | 2024-04-12 | 1 | -121/+120 |
| | | | | | | | | | | | | | | | | of children based on the future possibility of forcing those children to be strict. update unit test to use code from AndFlow and add tests for non-strict AND ordering as well. | ||||
* | | Merge pull request #30872 from ↵ | Geir Storli | 2024-04-11 | 7 | -56/+119 |
|\ \ | |/ |/| | | | | | vespa-engine/geirst/more-low-level-in-operator-perf-tests Support populating attribute where docid sets matching terms/children… | ||||
| * | Only 1 default value is supported when using disjunct terms/children. | Geir Storli | 2024-04-11 | 1 | -2/+4 |
| | | |||||
| * | Support populating attribute where docid sets matching terms/children are ↵ | Geir Storli | 2024-04-10 | 7 | -56/+117 |
| | | | | | | | | | | | | | | | | | | | | disjunct. This also adds testing of IN operator with many tokens (up to 10k), which uses disjunct terms/children. In addition calculation of "alternative cost" is removed, as it doesn't provide any value at the moment. | ||||
* | | consolidate solutions into a single heuristic algorithm | Håvard Pettersen | 2024-04-10 | 1 | -57/+7 |
| | | | | | | | | use error relative to minimal cost rather than error potential | ||||
* | | add some comparison slack to improve robustness | Håvard Pettersen | 2024-04-10 | 1 | -7/+7 |
|/ | |||||
* | more experiments | Håvard Pettersen | 2024-04-05 | 1 | -83/+127 |
| | | | | also pruned some of the less promising alternatives | ||||
* | Merge pull request #30835 from ↵ | Henning Baldersheim | 2024-04-05 | 1 | -0/+9 |
|\ | | | | | | | | | vespa-engine/geirst/more-than-64k-child-iterators-for-in-and-weightedset Support more than 64k child iterators for IN and weightedSet. | ||||
| * | Support more than 64k child iterators for IN and weightedSet. | Geir Storli | 2024-04-05 | 1 | -0/+9 |
| | | | | | | | | | | This adds an iterator pack that uses a uint32_t to address the child iterators instead of the default uint16_t. | ||||
* | | force strictness where allowed and cheaper | Håvard Pettersen | 2024-04-04 | 3 | -3/+33 |
|/ | |||||
* | Merge pull request #30786 from ↵ | Geir Storli | 2024-04-03 | 1 | -37/+115 |
|\ | | | | | | | | | vespa-engine/havardpe/more-AND-force-strict-experiments more experiments with multi-strict AND sorting | ||||
| * | more experiments with multi-strict AND sorting | Håvard Pettersen | 2024-04-02 | 1 | -37/+115 |
| | | |||||
* | | dump strictness for blueprints | Håvard Pettersen | 2024-04-02 | 3 | -1/+14 |
|/ | |||||
* | experiment with allow_force_strict | Håvard Pettersen | 2024-03-27 | 1 | -22/+128 |
| | | | | during sorting and cost calculations | ||||
* | use thread_local for blueprint options | Håvard Pettersen | 2024-03-25 | 3 | -3/+27 |
| | |||||
* | find crossover | Håvard Pettersen | 2024-03-25 | 2 | -4/+151 |
| | |||||
* | Add benchmarking of WeakAnd operators. | Geir Storli | 2024-03-22 | 5 | -33/+133 |
| | | | | | Since some blueprints have shared state (e.g. ParallelWeakAndBlueprint), we must re-create the blueprint inside the match loop. | ||||
* | tag blueprints with strictness | Håvard Pettersen | 2024-03-20 | 30 | -420/+552 |
| | | | | | | 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. | ||||
* | Merge pull request #30681 from ↵ | Henning Baldersheim | 2024-03-19 | 8 | -321/+508 |
|\ | | | | | | | | | vespa-engine/geirst/iterator-benchmark-blueprint-factory Refactor iterator benchmark to have a factory for creating blueprints | ||||
| * | Add factory for creating a blueprint for a given benchmark setup. | Geir Storli | 2024-03-19 | 5 | -125/+219 |
| | | |||||
| * | Move code to build attribute(s) to a separate class. | Geir Storli | 2024-03-19 | 6 | -146/+208 |
| | | |||||
| * | Refactor and move common code. | Geir Storli | 2024-03-18 | 4 | -61/+92 |
| | | |||||
* | | Change parent class of search::streaming::SameElementQueryNode from | Tor Egge | 2024-03-18 | 1 | -11/+34 |
|/ | | | | search::streaming::AndQueryNode to search:streaming::MultiTerm. | ||||
* | Use filter settings from rank profiles and query terms in streaming search. | Tor Egge | 2024-03-15 | 2 | -5/+14 |
| |