[ https://issues.apache.org/jira/browse/AVRO-1277?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13610609#comment-13610609 ]
Holger Hoffstätte commented on AVRO-1277: ----------------------------------------- Doug, thanks for addressing my concerns. I agree that making a client responsible for managing ReflectData instances and passing them into any created readers/writers fixes practically every possible lifecycle issue, so +1. Also getting rid of the static instance is useful for other purposes (less leaks in testing etc.) so +1 on all of that. Thanks! > Improve performance of reflection-based serializers > --------------------------------------------------- > > Key: AVRO-1277 > URL: https://issues.apache.org/jira/browse/AVRO-1277 > Project: Avro > Issue Type: Improvement > Components: java > Affects Versions: 1.7.4 > Reporter: Leo Romanoff > Priority: Minor > Attachments: AVRO-1277.patch, AVRO-1277-v2.patch > > > I've played a bit with Avro serialization based on reflection, i.e. with the > classes from org.apache.avro.generic package. > It works fine in this mode, but is rather slow compared to such frameworks > like protostuff or kryo. > Quick look at the source code has shown that a lot of reflection-based > operations and class lookups are not cached. And such operations are usually > pretty expensive when executed by a JVM. > So I changed some of org.apache.avro.generic classes, introduced caching and > a few other optimizations. Now it seems to perform much better. -- 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