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

Performance improvements to BinaryDecoder

    XMLWordPrintableJSON

Details

    • Improvement
    • Status: Closed
    • Major
    • Resolution: Fixed
    • None
    • 1.3.0
    • java
    • None

    Description

      The forthcoming patch improves the performance of BinaryDecoder.readLong(), readFloat() and readDouble().

      The test-patch has a command-line program Perf in org.apache.avro.io in the (test part of the source directory) which tests the performance of readInt() (which calls readLong()) readFloat() and readDouble(). On my machine, the patch improves the performance by 10% for readInt() and about 50% for readFloat() and readDouble().

      The idea is to unroll the loops in readLong(), readFloat() and readDouble(). There is a small change in doReadBytes() which checks for most common condition before less common ones.

      Attachments

        1. AVRO-315.patch
          2 kB
          Doug Cutting
        2. AVRO-315.patch
          5 kB
          Thiruvalluvan M. G.
        3. AVRO-315-prototype.patch
          16 kB
          Scott Carey
        4. AVRO-315-test.patch
          7 kB
          Thiruvalluvan M. G.

        Issue Links

          Activity

            People

              thiru_mg Thiruvalluvan M. G.
              thiru_mg Thiruvalluvan M. G.
              Votes:
              0 Vote for this issue
              Watchers:
              1 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved: