Avro
  1. Avro
  2. AVRO-989

Java: Improve Builder performance in Specific API

    Details

    • Type: Improvement Improvement
    • Status: Open
    • Priority: Major 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.

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

        Activity

        Scott Carey created issue -
        James Baldassari made changes -
        Field Original Value New Value
        Attachment AVRO-989.patch [ 12510785 ]
        James Baldassari made changes -
        Attachment AVRO-989-v2.patch [ 12510800 ]

          People

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

            Dates

            • Created:
              Updated:

              Development