Uploaded image for project: 'Apache Avro'
  1. Apache Avro
  2. AVRO-1277

Improve performance of reflection-based serializers

    XMLWordPrintableJSON

Details

    • Improvement
    • Status: Resolved
    • Minor
    • Resolution: Duplicate
    • 1.7.4
    • None
    • java
    • 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

        1. AVRO-1277.patch
          9 kB
          Leo Romanoff
        2. AVRO-1277-v2.patch
          18 kB
          Leo Romanoff

        Issue Links

          Activity

            People

              Unassigned Unassigned
              romixlev Leo Romanoff
              Votes:
              0 Vote for this issue
              Watchers:
              3 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved: