[ https://issues.apache.org/jira/browse/AVRO-2247?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17028830#comment-17028830 ]
ASF subversion and git services commented on AVRO-2247: ------------------------------------------------------- Commit cbc6e500710864545a1b2f9ffa28edef532e26af in avro's branch refs/heads/branch-1.9 from Martin Jubelgas [ https://gitbox.apache.org/repos/asf?p=avro.git;h=cbc6e50 ] AVRO-2247 - improved java reading performance with new reader (#391) * AVRO-2247 - Add FastDatumReaderBuilder and dependencies (rebased) * Addressed comments to pull request > 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)