Liya Fan created ARROW-9680: ------------------------------- Summary: [Java] Support non-nullable vectors Key: ARROW-9680 URL: https://issues.apache.org/jira/browse/ARROW-9680 Project: Apache Arrow Issue Type: New Feature Components: Java Reporter: Liya Fan Assignee: Liya Fan
This issue was first discussed in the ML ([https://lists.apache.org/thread.html/r480387ec9ec822f3ed30e9131109e43874a1c4d18af74ede1a7e41c5%40%3Cdev.arrow.apache.org%3E]), from which we have received some feedback. We briefly resate it here as below: 1. Non-nullable vectors are widely used in practice. For example, in a database engine, a column can be declared as not null, so it cannot contain null values. 2.Non-nullable vectors has significant performance advantages compared with their nullable conterparts, such as: 1) the memory space of the validity buffer can be saved. 2) manipulation of the validity buffer can be bypassed 3) some if-else branches can be replaced by sequential instructions (by the JIT compiler), leading to high throughput for the CPU pipeline. We open this Jira to facilitate further discussions, and we may provide a sample PR, which will help us make a clearer decision. -- This message was sent by Atlassian Jira (v8.3.4#803005)