[ https://issues.apache.org/jira/browse/AVRO-1282?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13645051#comment-13645051 ]
Doug Cutting commented on AVRO-1282: ------------------------------------ Why is the singleton INSTANCE removed from ReflectData? I thought this would be done as a part of AVRO-1283. I'm fine having it done here, but wonder whether it's required for this change. I hate to see more static caches added. I doubt they're required for performance. A single instance of ReflectData is reused for all read/write operations on a file or RPC session, which should be sufficient to amortize the cost of cache creation. And, with INSTANCE gone, we can also get rid of cache synchronization. But this can wait for AVRO-1283, I guess? > Make use of the sun.misc.Unsafe class during serialization if a JDK supports > it > ------------------------------------------------------------------------------- > > Key: AVRO-1282 > URL: https://issues.apache.org/jira/browse/AVRO-1282 > Project: Avro > Issue Type: Improvement > Components: java > Affects Versions: 1.7.4 > Reporter: Leo Romanoff > Priority: Minor > Attachments: AVRO-1282-s1.patch, AVRO-1282-s2.patch, > AVRO-1282-s3.patch, AVRO-1282-s5.patch, AVRO-1282-s6.patch, > avro-1282-v1.patch, avro-1282-v2.patch, avro-1282-v3.patch, > avro-1282-v4.patch, avro-1282-v5.patch, avro-1282-v6.patch, > avro-1282-v7.patch, avro-1282-v8.patch, AVRO-1282-v9.patch, > TestUnsafeUtil.java > > > Unsafe can be used to significantly speed up serialization process, if a JDK > implementation supports java.misc.Unsafe properly. Most JDKs running on PCs > support it. Some platforms like Android lack a proper support for Unsafe yet. > There are two possibilities to use Unsafe for serialization: > 1) Very quick access to the fields of objects. It is way faster than with the > reflection-based approach using Field.get/set > 2) Input and Output streams can be using Unsafe to perform very quick > input/output. > > 3) More over, Unsafe makes it possible to serialize to/deserialize from > off-heap memory directly and very quickly, without any intermediate buffers > allocated on heap. There is virtually no overhead compared to the usual byte > arrays. -- 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