Modify mask operators to remove explicit mask where it isn't needed
Maintainer thường phản hồi trong vòng 1 ngày
Chưa có ai nhận issue này.
Đánh giá
- Độ khó
- 4/5
- Thời gian dự kiến
- 3-5 ngày
- Mức phù hợp với người mới
- 50/100
- Loại issue
- Tái cấu trúc
- Độ rõ ràng
- Khá rõ ràng
- Mức độ hoạt động
- Sôi nổi
- Công nghệ
- cpp
- Lĩnh vực
- performance
Hướng nghiên cứu
Locate the mask operators that currently call from_builtin, along with the from_raw and from_prechecked_builtin entry points. Determine which operations preserve valid mask bits without extra masking, update only those conversions, and verify that operators such as complement still remove unwanted bits.
Do mô hình lập chỉ mục viết ra từ nội dung của issue.
Mô tả
The compact mask is a plain integer, which may be bigger than the bits actually being masked (e.g., 64-bit value for a mask of 40 bits).
The operators call from_builtin to convert the output of the operation to a mask, and in doing so this explicitly masks off the unwanted bits of the mask to make sure that the extraneous bits don't have some unintended side-effect. For example, calling ~ will set some of the out-of-bound bits to 1, which can introduce subtle issues.
But some operators are guaranteed to produce a valid output provided the inputs are valid. For example, given two masks of 40 bits each, their internal values will not contain any bits beyond position 40. Performing an AND will produce an output which also is limited to 40 bits. In such a case, rather than calling from_builtin, an alternative from_raw (or from_prechecked_builtin) could be called which omits the extra AND operation to mask off unwanted bits. This would be opt-in - only operators known to generate valid bits would call this.
- Ngôn ngữ chính
- C++
- Star
- 5
- Fork
- 2
- Merge trung bình
- 1 ngày 11 giờ
- Pull request đã merge (30 ngày)
- 20
Chuẩn bị môi trường
- Không có Dockerfile hay tệp Docker Compose
- Không có mẫu pull request
- Đọc hướng dẫn đóng góp
Bắt đầu từ đâu
- Đọc hết issue, rồi đọc hướng dẫn đóng góp của dự án.
- Bình luận trên issue rằng bạn sẽ nhận — tránh hai người làm cùng một việc.
- Fork repository và làm thay đổi trên một nhánh.
- Mở pull request có tham chiếu số hiệu của issue.
Issue khác của intel/xvec
-
enhancement
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 72/100
Maintainer thường phản hồi trong vòng 1 ngày
-
Độ khó 3/5 1-2 ngày Mức phù hợp với người mới 50/100
Maintainer thường phản hồi trong vòng 1 ngày
-
C++29 extension
Độ khó 3/5 1-2 ngày Mức phù hợp với người mới 52/100
Maintainer thường phản hồi trong vòng 1 ngày
-
Độ khó 4/5 3-5 ngày Mức phù hợp với người mới 52/100
Maintainer thường phản hồi trong vòng 1 ngày
-
C++29 extension
Độ khó 5/5 Hơn một tuần Mức phù hợp với người mới 25/100
Maintainer thường phản hồi trong vòng 1 ngày
Issue tương tự
-
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 66/100
-
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 62/100
NVIDIA-RTX/NRI#277 ·
Maintainer thường phản hồi trong vòng 1 ngày
-
os:Linux
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 72/100
Maintainer thường phản hồi trong vòng 1 ngày
-
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 76/100
-
acceptable_buffer_backends: unknown backend names are silently ignoredCó thể đã có người làm @mini-1235 đã nhận hôm nay. Đang mở
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 70/100
ros2/rmw_fastrtps#945 ·
Maintainer thường phản hồi trong vòng 1 ngày