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 (v6.4.14#64029)