You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@hive.apache.org by Tim Armstrong <ti...@gmail.com> on 2011/08/05 19:16:46 UTC

Review Request: Optimisation for RCFile reading to improve CPU usage.

-----------------------------------------------------------
This is an automatically generated e-mail. To reply, visit:
https://reviews.apache.org/r/1309/
-----------------------------------------------------------

Review request for hive and Ning Zhang.


Summary
-------

By tweaking the RCFile$Reader implementation to allow more efficient memory access I was able to reduce CPU usage. I measured the speed required to scan a gzipped RCFile, decompress and assemble into records. CPU time was reduced by about 7% for a full table scan, An improvement of about 2% was realised when a smaller subset of columns (3-5 out of tens) were selected.


This addresses bug HIVE-2350.
    https://issues.apache.org/jira/browse/HIVE-2350


Diffs
-----

  trunk/ql/src/java/org/apache/hadoop/hive/ql/io/RCFile.java 1154070 

Diff: https://reviews.apache.org/r/1309/diff


Testing
-------

Ran TestRCFile unit test.  Manually tested reading from warehouse table.


Thanks,

Tim


Re: Review Request: Optimisation for RCFile reading to improve CPU usage.

Posted by Tim Armstrong <ti...@gmail.com>.
-----------------------------------------------------------
This is an automatically generated e-mail. To reply, visit:
https://reviews.apache.org/r/1309/
-----------------------------------------------------------

(Updated 2011-08-11 23:07:05.774106)


Review request for hive, Yongqiang He and Ning Zhang.


Changes
-------

Minor change to avoid a compilation problem.


Summary
-------

By tweaking the RCFile$Reader implementation to allow more efficient memory access I was able to reduce CPU usage. I measured the speed required to scan a gzipped RCFile, decompress and assemble into records. CPU time was reduced by about 7% for a full table scan, An improvement of about 2% was realised when a smaller subset of columns (3-5 out of tens) were selected.


This addresses bug HIVE-2350.
    https://issues.apache.org/jira/browse/HIVE-2350


Diffs (updated)
-----

  trunk/ql/src/java/org/apache/hadoop/hive/ql/io/RCFile.java 1156839 

Diff: https://reviews.apache.org/r/1309/diff


Testing
-------

Ran TestRCFile unit test.  Manually tested reading from warehouse table.


Thanks,

Tim


Re: Review Request: Optimisation for RCFile reading to improve CPU usage.

Posted by Tim Armstrong <ti...@gmail.com>.
-----------------------------------------------------------
This is an automatically generated e-mail. To reply, visit:
https://reviews.apache.org/r/1309/
-----------------------------------------------------------

(Updated 2011-08-08 16:42:28.947782)


Review request for hive, Yongqiang He and Ning Zhang.


Summary
-------

By tweaking the RCFile$Reader implementation to allow more efficient memory access I was able to reduce CPU usage. I measured the speed required to scan a gzipped RCFile, decompress and assemble into records. CPU time was reduced by about 7% for a full table scan, An improvement of about 2% was realised when a smaller subset of columns (3-5 out of tens) were selected.


This addresses bug HIVE-2350.
    https://issues.apache.org/jira/browse/HIVE-2350


Diffs
-----

  trunk/ql/src/java/org/apache/hadoop/hive/ql/io/RCFile.java 1154070 

Diff: https://reviews.apache.org/r/1309/diff


Testing
-------

Ran TestRCFile unit test.  Manually tested reading from warehouse table.


Thanks,

Tim


Re: Review Request: Optimisation for RCFile reading to improve CPU usage.

Posted by Tim Armstrong <ti...@gmail.com>.
-----------------------------------------------------------
This is an automatically generated e-mail. To reply, visit:
https://reviews.apache.org/r/1309/
-----------------------------------------------------------

(Updated 2011-08-05 19:58:03.986031)


Review request for hive and Ning Zhang.


Changes
-------

Made some further optimisations to reduce branches and condition checks in the innermost loop, reducing CPU usage in getCurrentRow by about 20-25%, giving a few % more improvement overall for table scans.


Summary
-------

By tweaking the RCFile$Reader implementation to allow more efficient memory access I was able to reduce CPU usage. I measured the speed required to scan a gzipped RCFile, decompress and assemble into records. CPU time was reduced by about 7% for a full table scan, An improvement of about 2% was realised when a smaller subset of columns (3-5 out of tens) were selected.


This addresses bug HIVE-2350.
    https://issues.apache.org/jira/browse/HIVE-2350


Diffs (updated)
-----

  trunk/ql/src/java/org/apache/hadoop/hive/ql/io/RCFile.java 1154070 

Diff: https://reviews.apache.org/r/1309/diff


Testing
-------

Ran TestRCFile unit test.  Manually tested reading from warehouse table.


Thanks,

Tim