[Java] Optimize bit operations performance
- 主要語言
- Java
- 星號
- 94
- 分支
- 152
- 平均合併
- 3 天 16 小時
- 30 天內合併 PR
- 11
描述
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.*
貢獻指南
研究方向
從 benchmark 中對 ArrowReaderUnsafe.java 的參照開始,檢查 Apache Arrow PR #5930,然後檢視已完成的點陣圖操作子任務,以確定還剩下什麼。將要求的直接緩衝區具現化和點陣圖檢查與現有的 Java 實作進行比較;完成的標準是實作剩餘的最佳化,並驗證其效能影響。
由索引模型根據 Issue 內容生成。
評估
- 技術堆疊
- java
- 領域
- performance
- Issue 類型
- 重構
- 難度
- 4/5
- 預估耗時
- 3-5 天
- 活躍度
- 停滯
- 描述清晰度
- 需要釐清
- 新手友好度
- 15/100