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] Created: (AVRO-316) Optiminzing inner loop functions of Avro io
Date Wed, 13 Jan 2010 12:42:54 GMT
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.


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