Details
-
Improvement
-
Status: Resolved
-
Minor
-
Resolution: Duplicate
-
1.7.4
-
None
-
None
Description
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.
Attachments
Attachments
Issue Links
- is related to
-
AVRO-1268 Add java-class, java-key-class and java-element-class support for stringable types to SpecificData
- Closed
- is superceded by
-
AVRO-1282 Make use of the sun.misc.Unsafe class during serialization if a JDK supports it
- Closed
- relates to
-
AVRO-1283 remove static caches from GenericData, SpecificData and ReflectData
- Open