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

Improve performance of reflection-based serializers

    XMLWordPrintableJSON

    Details

    • Type: Improvement
    • Status: Resolved
    • Priority: Minor
    • Resolution: Duplicate
    • Affects Version/s: 1.7.4
    • Fix Version/s: None
    • Component/s: java
    • Labels:
      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-v2.patch
          18 kB
          Leo Romanoff
        2. AVRO-1277.patch
          9 kB
          Leo Romanoff

          Issue Links

            Activity

              People

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

                Dates

                • Created:
                  Updated:
                  Resolved: