Avro
  1. Avro
  2. AVRO-1241

improve trevni performance on string deserialization

    Details

    • Type: Improvement Improvement
    • Status: Closed
    • Priority: Major Major
    • Resolution: Fixed
    • Affects Version/s: 1.7.3
    • Fix Version/s: 1.7.4
    • Component/s: java
    • Labels:
      None
    • Release Note:
      Optimized string de-serialization

      Description

      I have been trying to implement a storage function for Apache Pig that writes data in Trevni format. I found that the storage function was very slow when reading whole records.

      I did some profiling (with Yourkit) and found that most of the CPU time was being spent in org.apache.trevni.InputBuffer$readString() (specifically in the String() method). I changed to java.nio.charset.CharsetDecoder.decode for deserialization and saw a big improvement. Changes are included in the patch.

      1. AVRO-1241
        2 kB
        Joseph Adler

        Issue Links

          Activity

          Doug Cutting made changes -
          Status Resolved [ 5 ] Closed [ 6 ]
          Doug Cutting made changes -
          Status Patch Available [ 10002 ] Resolved [ 5 ]
          Resolution Fixed [ 1 ]
          Doug Cutting made changes -
          Assignee Joseph Adler [ jadler ]
          Doug Cutting made changes -
          Fix Version/s 1.7.4 [ 12323742 ]
          Russell Jurney made changes -
          Link This issue is related to HIVE-3585 [ HIVE-3585 ]
          Russell Jurney made changes -
          Link This issue is related to PIG-3015 [ PIG-3015 ]
          Russell Jurney made changes -
          Link This issue relates to PIG-3015 [ PIG-3015 ]
          Joseph Adler made changes -
          Attachment AVRO-1241 [ 12567634 ]
          Joseph Adler made changes -
          Field Original Value New Value
          Status Open [ 1 ] Patch Available [ 10002 ]
          Release Note Optimized string de-serialization
          Joseph Adler created issue -

            People

            • Assignee:
              Joseph Adler
              Reporter:
              Joseph Adler
            • Votes:
              1 Vote for this issue
              Watchers:
              6 Start watching this issue

              Dates

              • Created:
                Updated:
                Resolved:

                Development