You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@avro.apache.org by "Doug Cutting (JIRA)" <ji...@apache.org> on 2010/01/13 19:06:54 UTC
[jira] Commented: (AVRO-316) Optiminzing inner loop functions of
Avro io
[ https://issues.apache.org/jira/browse/AVRO-316?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12799852#action_12799852 ]
Doug Cutting commented on AVRO-316:
-----------------------------------
+1 These changes look good to me.
> Optiminzing inner loop functions of Avro io
> -------------------------------------------
>
> Key: AVRO-316
> URL: https://issues.apache.org/jira/browse/AVRO-316
> Project: Avro
> Issue Type: Improvement
> Reporter: Thiruvalluvan M. G.
> Assignee: Thiruvalluvan M. G.
> Attachments: AVRO-316-test.patch, AVRO-316.patch
>
>
> The methods advance() and pushProduction() of org.apache.avro.io.parsing.Parser class are invoked at least once per read/write call on ValidatingDecoder, ResolvingDecoder and ValidatingEncoder. Any optimization in these functions will improve overall performance when using these classes.
> Try org.apacge.avro.io.Perf -V to see the effect of this patch on the performance. On my machine it gives about 5 to 8% improvement.
> The optimizations are:
> - Reorder the code within advance() so that the most frequent paths involve minimal comparisons.
> - Repleace Symbol.CONTINUE with null to indicate that next symbol on the stack needs to be looked at.
> - Get rid of a parameter to pushProduction. This parameter was used only in one call site of that function; others pass null. Refactored the code so that these invocations do not pay for that piece of logic that they don't use.
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.