avro-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Doug Cutting (Commented) (JIRA)" <j...@apache.org>
Subject [jira] [Commented] (AVRO-989) Java: Improve Builder performance in Specific API
Date Tue, 24 Jan 2012 21:44:48 GMT

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

Doug Cutting commented on AVRO-989:

This looks good to me.  It will cause folks to have to re-generate their code when they upgrade
since the base class for generated code has changed incompatibly.  Should we hold it for 1.7.0
for that reason?

(I branch lazily.  I have not yet created a 1.6 branch since everything we've committed to
trunk so far is also destined for 1.6.  If we decide to hold this for 1.7.0 we could create
a 1.6 branch from trunk, then commit this to trunk.)
> Java:  Improve Builder performance in Specific API
> --------------------------------------------------
>                 Key: AVRO-989
>                 URL: https://issues.apache.org/jira/browse/AVRO-989
>             Project: Avro
>          Issue Type: Improvement
>          Components: java
>            Reporter: Scott Carey
>         Attachments: AVRO-989-v2.patch, AVRO-989.patch
> The Specific API generates Builder objects for each record.  This builder uses a boolean[]
to store flags for each field to indicate whether the field is set or not.
> This is not space efficient, a boolean[] takes 16 bytes plus one byte per field, rounded
up to the nearest 8 byte interval. 
> This can be improved on by using BitSet for large records, and bitmasks on an int for
records with less than 32 fields.

This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira


View raw message