PERFORMANCE: optimize some of the code in DefaultTuple
------------------------------------------------------
Key: PIG-513
URL: https://issues.apache.org/jira/browse/PIG-513
Project: Pig
Issue Type: Bug
Affects Versions: types_branch
Reporter: Pradeep Kamath
Fix For: types_branch
The following areas in DefaultTuple.java can be changed:
The member methods get(), set(), getType() and isNull() all call checkBounds()
which is redundant call since all these 4 functions throw ExecException.
Instead of doing a bounds check, we can catch the IndexOutOfBounds exception in
a try-catch and throw it as an ExecException
The write() method has the following unused object (d in the code below):
{code}
for (int i = 0; i < sz; i++) {
try {
Object d = get(i);
} catch (ExecException ee) {
throw new RuntimeException(ee);
}
DataReaderWriter.writeDatum(out, mFields.get(i));
}
{code}
{noformat}
The get(i) call in the try should be replaced by the writeDatum call directly
since d is never used and there is an unncessary call to get()
{noformat}
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.