apache / apache/arrow-java

[Java] Optimize bit operations performance

未关闭
#368 6 条评论 0 个 reaction 已指派 0 人 在 GitHub 查看
Type: enhancement
主要语言
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

把新 issue 发到你的邮箱

精选适合新手参与的 GitHub issue 摘要。