[ https://issues.apache.org/jira/browse/AVRO-316?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Jeff Hammerbacher updated AVRO-316: ----------------------------------- Component/s: java > 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.