Unnecessary copy in mapreduce.lib.input.KeyValueLineRecordReader
----------------------------------------------------------------

                 Key: MAPREDUCE-960
                 URL: https://issues.apache.org/jira/browse/MAPREDUCE-960
             Project: Hadoop Map/Reduce
          Issue Type: Improvement
            Reporter: Chris Douglas
            Assignee: Chris Douglas


KeyValueLineRecordReader effects the copy from the line to the key/value by 
creating separate arrays:
{noformat}
      int keyLen = pos;
      byte[] keyBytes = new byte[keyLen];
      System.arraycopy(line, 0, keyBytes, 0, keyLen);
      int valLen = lineLen - keyLen - 1;
      byte[] valBytes = new byte[valLen];
      System.arraycopy(line, pos + 1, valBytes, 0, valLen);
      key.set(keyBytes);
      value.set(valBytes);
{noformat}
Since set triggers another copy and Text has a set taking {{byte[], off, len}}, 
the intermediate copy can be avoided

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.

Reply via email to