avro-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Alexandre Normand (JIRA)" <j...@apache.org>
Subject [jira] [Commented] (AVRO-1268) Add java-class, java-key-class and java-element-class support for stringable types to SpecificData
Date Wed, 20 Mar 2013 16:29:17 GMT

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

Alexandre Normand commented on AVRO-1268:
-----------------------------------------

There could be some impact in reading maps and arrays too in addition to reading strings.

Your interpretation is correct except for the fact that you seemed to have inverted the results.
After my changes, FooBarSpecificRecordTestRead takes 40359ms where it took 35180ms before...therefore
I would say my changes make it 16% slower. The GenericStringsRead is actually faster now.

Right now, my rough version stores states per schema in a map. There's a potential additional
performance gain in replacing that by a tree structure and get rid of the cost of get/puts
that map.  That's the next thing I'm going to look at. 

Do you have an idea on what performance level would be considered acceptable?
                
> Add java-class, java-key-class and java-element-class support for stringable types to
SpecificData
> --------------------------------------------------------------------------------------------------
>
>                 Key: AVRO-1268
>                 URL: https://issues.apache.org/jira/browse/AVRO-1268
>             Project: Avro
>          Issue Type: Improvement
>          Components: java
>    Affects Versions: 1.7.4
>            Reporter: Alexandre Normand
>            Assignee: Alexandre Normand
>            Priority: Minor
>             Fix For: 1.7.5
>
>         Attachments: AVRO-1268-needs-work.patch, AVRO-1268.patch, AVRO-1268.patch, AVRO-1268.sh,
GenericStringsPerf.patch
>
>
> Stringable types are java classes that can be serialized through strings (which require
a single string constructor and a valid toString() implementation). ReflectData currently
has support from stringable types but it would be desirable to get this feature with SpecificData.

> The work involves changes to the SpecificCompiler (depends on {{@java-class}} support
in AVRO-1267) to generate the specific sources with the proper java type as well as moving
the ReflectDatumReader and ReflectDatumWriter to read the java-class/java-key-class and java-element-class
properties. 

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira

Mime
View raw message