avro-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Raymie Stata (JIRA)" <j...@apache.org>
Subject [jira] [Created] (AVRO-2090) Improve encode/decode time for SpecificRecord using code generation
Date Sat, 07 Oct 2017 23:53:00 GMT
Raymie Stata created AVRO-2090:

             Summary: 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

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

View raw message