You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@avro.apache.org by "ASF GitHub Bot (JIRA)" <ji...@apache.org> on 2018/07/27 05:46:00 UTC

[jira] [Commented] (AVRO-2090) Improve encode/decode time for SpecificRecord using code generation

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

ASF GitHub Bot commented on AVRO-2090:
--------------------------------------

juwex commented on issue #256: AVRO-2090: Improve encode/decode time for SpecificRecord using code generation
URL: https://github.com/apache/avro/pull/256#issuecomment-408317797
 
 
   I'm very excited about the performance improvements with this feature and would like to see this in a usable state sooner rather than later. If I can assist getting this branch into a mergeable state, I'd love to do so (with @rstata 's consent)
   
   There's a rather big issue with schema evolution currently, however. The generated reader relies on the field order within the `ResolvingDecoder` to stay the same. Hence, data written with a schema that only differs in regards to the order of fields will result in an error or (even worse) invalid data. If required, I can provide a code sample.
   

----------------------------------------------------------------
This is an automated message from the Apache Git Service.
To respond to the message, please log on GitHub and use the
URL above to go to the specific comment.
 
For queries about this service, please contact Infrastructure at:
users@infra.apache.org


> Improve encode/decode time for SpecificRecord using code generation
> -------------------------------------------------------------------
>
>                 Key: AVRO-2090
>                 URL: https://issues.apache.org/jira/browse/AVRO-2090
>             Project: Avro
>          Issue Type: Improvement
>          Components: java
>            Reporter: Raymie Stata
>            Assignee: Raymie Stata
>            Priority: Major
>         Attachments: customcoders.md
>
>
> Compared to GenericRecords, SpecificRecords offer type-safety plus the performance of traditional getters/setters/instance variables.  But these are only beneficial to Java code accessing those records.  SpecificRecords inherit serialization and deserialization code from GenericRecords, which is dynamic and thus slow (in fact, benchmarks show that serialization and deserialization is _slower_ for SpecificRecord than for GenericRecord).
> This patch extends record.vm to generate custom, higher-performance encoder and decoder functions for SpecificRecords.  We've run a public benchmark showing that the new code reduces serialization time by 2/3 and deserialization time by close to 50%.



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)