Wes McKinney created ARROW-6076:
-----------------------------------

             Summary: [C++][Parquet] RecordReader::Reset logic is inefficient 
for small reads
                 Key: ARROW-6076
                 URL: https://issues.apache.org/jira/browse/ARROW-6076
             Project: Apache Arrow
          Issue Type: Improvement
          Components: C++
            Reporter: Wes McKinney
             Fix For: 1.0.0


We have a unit test 

https://github.com/apache/arrow/blob/master/cpp/src/parquet/arrow/arrow-reader-writer-test.cc#L933

that reads 1 record at a time from a Parquet-Arrow column reader. There is 
logic on RecordReader that advances the definition/repetition levels based on 
consumed data from previous records, but this is inefficient for this case:

https://github.com/apache/arrow/blob/master/cpp/src/parquet/column_reader.cc#L1011

This should be refactored to not require this copying, or at least to only 
"shift" the levels occasionally 



--
This message was sent by Atlassian JIRA
(v7.6.14#76016)

Reply via email to