Avro
  1. Avro
  2. AVRO-315

Performance improvements to BinaryDecoder

    Details

    • Type: Improvement Improvement
    • Status: Closed
    • Priority: Major Major
    • Resolution: Fixed
    • Affects Version/s: None
    • Fix Version/s: 1.3.0
    • Component/s: java
    • Labels:
      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.

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

        Issue Links

          Activity

          Thiruvalluvan M. G. created issue -
          Thiruvalluvan M. G. made changes -
          Field Original Value New Value
          Attachment AVRO-315-test.patch [ 12430104 ]
          Attachment AVRO-315.patch [ 12430105 ]
          Thiruvalluvan M. G. made changes -
          Status Open [ 1 ] Patch Available [ 10002 ]
          Assignee Thiruvalluvan M. G. [ thiru_mg ]
          Thiruvalluvan M. G. made changes -
          Attachment AVRO-315-test.patch [ 12430132 ]
          Thiruvalluvan M. G. made changes -
          Attachment AVRO-315-test.patch [ 12430104 ]
          Doug Cutting made changes -
          Attachment AVRO-315.patch [ 12430154 ]
          Scott Carey made changes -
          Attachment AVRO-315-prototype.patch [ 12430210 ]
          Jeff Hammerbacher made changes -
          Component/s java [ 12312780 ]
          Thiruvalluvan M. G. made changes -
          Status Patch Available [ 10002 ] Resolved [ 5 ]
          Resolution Fixed [ 1 ]
          Scott Carey made changes -
          Link This issue relates to AVRO-327 [ AVRO-327 ]
          Doug Cutting made changes -
          Fix Version/s 1.3.0 [ 12314318 ]
          Doug Cutting made changes -
          Status Resolved [ 5 ] Closed [ 6 ]

            People

            • Assignee:
              Thiruvalluvan M. G.
              Reporter:
              Thiruvalluvan M. G.
            • Votes:
              0 Vote for this issue
              Watchers:
              1 Start watching this issue

              Dates

              • Created:
                Updated:
                Resolved:

                Development