[Java] Optimize bit operations performance
- Ngôn ngữ chính
- Java
- Star
- 94
- Fork
- 152
- Merge trung bình
- 3 ngày 16 giờ
- Pull request đã merge (30 ngày)
- 11
Mô tả
From @animeshtrivedi's benchmark finding:
2) Materialize values from Validity and Value direct buffers instead of
calling getInt() function on the IntVector. This is implemented as a new
Unsafe reader type (
)
3) Optimize bitmap operation to check if a bit is set or not (
)
**Reporter**: [Li Jin](https://issues.apache.org/jira/browse/ARROW-3495) / @icexelloss
#### Subtasks:
- [X] [[Java] Remove Long.bitCount with simple bitmap operations](https://github.com/apache/arrow/issues/20485)
#### PRs and other links:
- [GitHub Pull Request apache/arrow#5930](https://github.com/apache/arrow/pull/5930)
**Note**: *This issue was originally created as [ARROW-3495](https://issues.apache.org/jira/browse/ARROW-3495). Please see the [migration documentation](https://github.com/apache/arrow/issues/14542) for further details.*
Hướng dẫn đóng góp
Hướng nghiên cứu
Bắt đầu với các tham chiếu đến ArrowReaderUnsafe.java trong benchmark và kiểm tra Apache Arrow PR #5930, sau đó xem lại subtask về các thao tác bitmap đã hoàn thành để xác định những gì còn lại. So sánh việc materialize direct buffer được yêu cầu và các kiểm tra bitmap với triển khai Java hiện có; được xem là hoàn tất khi phần tối ưu hóa còn lại đã được triển khai và tác động đến hiệu năng của nó đã được xác minh.
Do mô hình lập chỉ mục viết ra từ nội dung của issue.
Đánh giá
- Công nghệ
- java
- Lĩnh vực
- performance
- Loại issue
- Tái cấu trúc
- Độ khó
- 4/5
- Thời gian dự kiến
- 3-5 ngày
- Mức độ hoạt động
- Đình trệ
- Độ rõ ràng
- Cần làm rõ
- Mức phù hợp với người mới
- 15/100