avro-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Thiruvalluvan M. G. (JIRA)" <j...@apache.org>
Subject [jira] Resolved: (AVRO-316) Optiminzing inner loop functions of Avro io
Date Fri, 15 Jan 2010 17:20:54 GMT

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

Thiruvalluvan M. G. resolved AVRO-316.
--------------------------------------

    Resolution: Fixed

Committed revision 899720. Fixed the documentation comment.

> Optiminzing inner loop functions of Avro io
> -------------------------------------------
>
>                 Key: AVRO-316
>                 URL: https://issues.apache.org/jira/browse/AVRO-316
>             Project: Avro
>          Issue Type: Improvement
>          Components: java
>            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.


Mime
View raw message