[ 
https://issues.apache.org/jira/browse/MAPREDUCE-960?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Chris Douglas updated MAPREDUCE-960:
------------------------------------

    Affects Version/s: 0.21.0

> 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
>    Affects Versions: 0.21.0
>            Reporter: Chris Douglas
>            Assignee: Chris Douglas
>         Attachments: M960-0.patch
>
>
> 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