milvus icon indicating copy to clipboard operation
milvus copied to clipboard

enhance: [2.4][bitset] multiple 'and' and 'or' in a single op

Open alexanderguzhva opened this issue 1 year ago • 3 comments
trafficstars

issue: #34117 pr: #33345

Refactoring:

  • Added a capability to perform multiple bitwise and and or operations in a single op
  • AVX2, AVX512, ARM NEON, ARM SVE backed bitwise and, op, xor and sub ops
  • more unit tests for bitset
  • fixed a bug in or_with_count for certain bitset sizes
  • fixed a bug for certain offset values for inplace operations that take two bitsets

alexanderguzhva avatar Oct 17 '24 15:10 alexanderguzhva

Codecov Report

Attention: Patch coverage is 75.59242% with 103 lines in your changes missing coverage. Please review.

Project coverage is 72.22%. Comparing base (8923936) to head (c7f30de). Report is 11 commits behind head on 2.4.

Files with missing lines Patch % Lines
...al/core/src/bitset/detail/platform/x86/avx2-impl.h 0.00% 36 Missing :warning:
.../core/src/bitset/detail/platform/x86/avx512-impl.h 0.00% 36 Missing :warning:
...l/core/src/bitset/detail/platform/vectorized_ref.h 0.00% 12 Missing :warning:
internal/core/src/bitset/detail/element_wise.h 93.83% 9 Missing :warning:
internal/core/src/bitset/bitset.h 96.25% 3 Missing :warning:
...ternal/core/src/bitset/detail/platform/dynamic.cpp 0.00% 3 Missing :warning:
internal/core/src/bitset/detail/maybe_vector.h 83.33% 2 Missing :warning:
...src/bitset/detail/platform/x86/instruction_set.cpp 0.00% 2 Missing :warning:
Additional details and impacted files

Impacted file tree graph

@@            Coverage Diff             @@
##              2.4   #36973      +/-   ##
==========================================
- Coverage   80.63%   72.22%   -8.41%     
==========================================
  Files        1065     1066       +1     
  Lines      164543   164965     +422     
==========================================
- Hits       132673   119147   -13526     
- Misses      27532    41484   +13952     
+ Partials     4338     4334       -4     
Files with missing lines Coverage Δ
internal/core/src/bitset/common.h 100.00% <ø> (ø)
internal/core/src/bitset/detail/bit_wise.h 100.00% <100.00%> (ø)
...ternal/core/src/bitset/detail/element_vectorized.h 94.55% <100.00%> (-1.69%) :arrow_down:
internal/core/src/bitset/detail/platform/dynamic.h 100.00% <100.00%> (ø)
internal/core/src/bitset/detail/proxy.h 84.21% <100.00%> (-15.79%) :arrow_down:
internal/core/src/bitset/detail/maybe_vector.h 83.33% <83.33%> (ø)
...src/bitset/detail/platform/x86/instruction_set.cpp 0.00% <0.00%> (-89.07%) :arrow_down:
internal/core/src/bitset/bitset.h 85.01% <96.25%> (-8.43%) :arrow_down:
...ternal/core/src/bitset/detail/platform/dynamic.cpp 0.00% <0.00%> (-68.05%) :arrow_down:
internal/core/src/bitset/detail/element_wise.h 94.07% <93.83%> (+10.97%) :arrow_up:
... and 3 more

... and 231 files with indirect coverage changes

codecov[bot] avatar Oct 18 '24 13:10 codecov[bot]

@zhagnlu @liliu-z please help reviewing

alexanderguzhva avatar Oct 18 '24 14:10 alexanderguzhva

/lgtm

zhagnlu avatar Oct 22 '24 02:10 zhagnlu

/approve /lgtm

czs007 avatar Oct 22 '24 08:10 czs007

[APPROVALNOTIFIER] This PR is APPROVED

This pull-request has been approved by: alexanderguzhva, czs007

The full list of commands accepted by this bot can be found here.

The pull request process is described here

Needs approval from an approver in each of these files:

Approvers can indicate their approval by writing /approve in a comment Approvers can cancel approval by writing /approve cancel in a comment

sre-ci-robot avatar Oct 22 '24 08:10 sre-ci-robot