enhance: optimize unfiltered search on sealed segments#48272
enhance: optimize unfiltered search on sealed segments#48272CLiqing wants to merge 1 commit intomilvus-io:masterfrom
Conversation
|
[APPROVALNOTIFIER] This PR is NOT APPROVED This pull-request has been approved by: CLiqing The full list of commands accepted by this bot can be found here. DetailsNeeds approval from an approver in each of these files:Approvers can indicate their approval by writing |
|
@CLiqing Thanks for your contribution. Please submit with DCO, see the contributing guide https://github.com/milvus-io/milvus/blob/master/CONTRIBUTING.md#developer-certificate-of-origin-dco. |
|
Invalid PR Title Format Detected Your PR submission does not adhere to our required standards. To ensure clarity and consistency, please meet the following criteria:
Required Title Structure: Where Example: Please review and update your PR to comply with these guidelines. |
|
[ci-v2-notice] To rerun ci-v2 checks, comment with:
If you have any questions or requests, please contact @zhikunyao. |
a359463 to
6ebac37
Compare
|
@CLiqing Please associate the related issue to the body of your Pull Request. (eg. "issue: #") |
Codecov Report✅ All modified and coverable lines are covered by tests. ❌ Your project check has failed because the head coverage (74.74%) is below the target coverage (77.00%). You can increase the head coverage or adjust the target coverage. Additional details and impacted files@@ Coverage Diff @@
## master #48272 +/- ##
===========================================
- Coverage 77.53% 74.74% -2.80%
===========================================
Files 2099 1480 -619
Lines 348958 244980 -103978
===========================================
- Hits 270576 183104 -87472
+ Misses 70137 53607 -16530
- Partials 8245 8269 +24
🚀 New features to boost your workflow:
|
|
@CLiqing Thanks for your contribution. Please submit with DCO, see the contributing guide https://github.com/milvus-io/milvus/blob/master/CONTRIBUTING.md#developer-certificate-of-origin-dco. |
|
@CLiqing go-sdk check failed, comment |
Three independent optimizations for the sealed-segment search path: 1. Three-level MVCC fast path (MvccNode): skip bitmap ops when sealed + no deletes; apply only delete mask when deletes exist; default path for filtered/growing/TTL queries. 2. VectorSearchNode skip_filter: pass empty BitsetView to Knowhere (IDSelectorAll) when MvccNode signals no filtering needed. 3. Hardware -mpopcnt for x86_64: enable __builtin_popcountll hardware instruction instead of software fallback. issue: milvus-io#48279 Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com> Signed-off-by: CLiQing <2208529306@qq.com>
|
@CLiqing go-sdk check failed, comment |
|
rerun go-sdk |
|
@CLiqing go-sdk check failed, comment |
issue: #48279
Optimize the sealed-segment search path when no scalar filter is applied:
MvccNode): For sealed segments without collection TTL:skip_filterflagmask_with_timestamps, apply onlymask_with_deleteskip_filteris set, pass emptyBitsetViewto Knowhere, triggering nativeIDSelectorAllinstead of iterating over a full zero bitmap-mpopcnt: Add-mpopcntcompiler flag for x86_64 to use hardwarepopcntinstruction instead of__popcountdi2software fallback