[
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