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

Vyacheslav Zholudev commented on AVRO-964:
------------------------------------------

I was referring to a deep copy. I haven't seen such a method, now I see it and 
that's better than method #2.
However, it works 10 to 20 times slower than custom copying (method #1) in my 
tests. (method #2 works 40-50 times slower)
I see that the equals() method is implemented also using SpecificData, but 
would it be feasible to generate custom code for deep copying in order to 
improve performance?

                
> Provide clone() method for generated avro-specific objects
> ----------------------------------------------------------
>
>                 Key: AVRO-964
>                 URL: https://issues.apache.org/jira/browse/AVRO-964
>             Project: Avro
>          Issue Type: Improvement
>          Components: java
>    Affects Versions: 1.7.0
>            Reporter: Vyacheslav Zholudev
>
> It would be great to provide a generated clone() method for avro-specific 
> objects like it is done for equals(), toString() and hashCode() methods.
> Due to object re-usage in Hadoop, it is often necessary to clone objects 
> because they have to be processed all together after e.g. Reducer input has 
> been read. 
> Currently I see two ad-hoc options to deal with it:
> 1) Create potentially lots of tedious code to clone objects manually. This 
> method is error-prone, since it's easy to forget cloning of some fields after 
> schema evolution
> 2) Use DatumWriter and DatumReader to serialize/deserialize objects. This 
> method works extremely slow (in my experiments 30-40 times slower than method 
> #1.
> So neither of methods is sufficiently good, on the other hand adding a 
> generated clone() method should be not that complicated.

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

        

Reply via email to