You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@arrow.apache.org by "Liya Fan (Jira)" <ji...@apache.org> on 2020/08/10 09:07:00 UTC

[jira] [Created] (ARROW-9680) [Java] Support non-nullable vectors

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)