avro-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Doug Cutting (Updated) (JIRA)" <j...@apache.org>
Subject [jira] [Updated] (AVRO-911) remove object reuse from Java APIs
Date Wed, 05 Oct 2011 23:40:29 GMT

     [ https://issues.apache.org/jira/browse/AVRO-911?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel

Doug Cutting updated AVRO-911:

    Attachment: perf-reuse.patch

Enabling verbose GC output shows that there are >~20 GCs during a benchmark, so I think
its running long enough.  Dunno about the escape analysis.  I'm using JDK 6 and Scott's Perf.java
with -G and -s, with and without the attached patch.
> remove object reuse from Java APIs
> ----------------------------------
>                 Key: AVRO-911
>                 URL: https://issues.apache.org/jira/browse/AVRO-911
>             Project: Avro
>          Issue Type: Improvement
>          Components: java
>            Reporter: Doug Cutting
>            Assignee: Doug Cutting
>             Fix For: 1.6.0
>         Attachments: perf-reuse.patch
> Avro's Java APIs were designed to permit object reuse when reading with the assumption
that would provide performance advantages.  In particular, the old parameter in DatumReader<T>.read(T
old, Decoder), the Utf8 class, and the GenericArray.peek() method were all designed for this
purpose.  But I am unable to see significant performance improvements when objects are reused.
 I tried modifying Perf.java's GenericTest to reuse records, and its StringTest to not reuse
Utf8 instances and, in both cases, performance is not substantially altered.
> If we were to remove these then issues such as AVRO-803 would disappear.  Always using
java.lang.String instead of Utf8 would remove a lot of user confusion. 

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