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

Java: Improve Builder performance in Specific API

    Details

    • Type: Improvement
    • Status: Open
    • Priority: Major
    • Resolution: Unresolved
    • Affects Version/s: None
    • Fix Version/s: None
    • Component/s: java
    • Labels:
      None

      Description

      The Specific API generates Builder objects for each record. This builder uses a boolean[] to store flags for each field to indicate whether the field is set or not.

      This is not space efficient, a boolean[] takes 16 bytes plus one byte per field, rounded up to the nearest 8 byte interval.

      This can be improved on by using BitSet for large records, and bitmasks on an int for records with less than 32 fields.

        Attachments

        1. AVRO-989.patch
          6 kB
          James Baldassari
        2. AVRO-989-v2.patch
          12 kB
          James Baldassari

          Activity

            People

            • Assignee:
              Unassigned
              Reporter:
              scott_carey Scott Carey
            • Votes:
              2 Vote for this issue
              Watchers:
              1 Start watching this issue

              Dates

              • Created:
                Updated: