[ 
https://issues.apache.org/jira/browse/AVRO-2247?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17028785#comment-17028785
 ] 

Hudson commented on AVRO-2247:
------------------------------

SUCCESS: Integrated in Jenkins build AvroJava #813 (See 
[https://builds.apache.org/job/AvroJava/813/])
AVRO-2247 - improved java reading performance with new reader (#391) (github: 
[https://github.com/apache/avro/commit/3ad0106f5fa15fbe718727016c600d14cd23294c])
* (edit) lang/java/avro/src/main/java/org/apache/avro/util/Utf8.java
* (add) lang/java/avro/src/main/java/org/apache/avro/io/ReflectionUtils.java
* (edit) 
lang/java/avro/src/main/java/org/apache/avro/io/parsing/ResolvingGrammarGenerator.java
* (edit) lang/java/avro/src/main/java/org/apache/avro/generic/GenericData.java
* (edit) 
lang/java/avro/src/main/java/org/apache/avro/generic/GenericDatumReader.java
* (edit) lang/java/avro/pom.xml
* (add) lang/java/avro/src/main/java/org/apache/avro/io/FastReaderBuilder.java
* (edit) lang/java/avro/src/main/java/org/apache/avro/Resolver.java
* (edit) lang/java/avro/src/main/java/org/apache/avro/specific/SpecificData.java


> Improve Java reading performance with a new reader
> --------------------------------------------------
>
>                 Key: AVRO-2247
>                 URL: https://issues.apache.org/jira/browse/AVRO-2247
>             Project: Apache Avro
>          Issue Type: Improvement
>          Components: java
>            Reporter: Martin Jubelgas
>            Assignee: Martin Jubelgas
>            Priority: Major
>             Fix For: 1.10.0, 1.9.2
>
>         Attachments: Perf-Comparison.md
>
>
> Complementary to AVRO-2090, I have been working on decoding of Avro objects 
> in Java and am suggesting a new implementation of a DatumReader that improves 
> read performance for both generic and specific records by approximately 20% 
> (and even more in cases of nested objects with defaults, a case I encounter a 
> lot in practical use).
> Key concept is to create a detailed execution plan once at DatumReader. This 
> execution plan contains all required defaulting/lookup values so they need 
> not be looked up during object traversal while reading.
> The reader implementation can be enabled and disabled per GenericData 
> instance. The system default is set via the system variable 
> "org.apache.avro.fastread" (defaults to "false").
> Attached a performance comparison of the existing implementation with the 
> proposed one. Will open a pull request with respective code in a bit (not 
> including interoperability with the optimizations of AVRO-2090 yet). Please 
> let me know your opinion of whether this is worth pursuing further.
>  



--
This message was sent by Atlassian Jira
(v8.3.4#803005)

Reply via email to