Uploaded image for project: 'Apache Arrow'
  1. Apache Arrow
  2. ARROW-801

[JAVA] Provide direct access to underlying buffer memory addresses in consistent way without generating garbage or large amount indirections

    Details

    • Type: Bug
    • Status: Resolved
    • Priority: Major
    • Resolution: Fixed
    • Affects Version/s: None
    • Fix Version/s: 0.7.0
    • Component/s: Java
    • Labels:
      None

      Description

      When working with Arrow vectors recently, we observed a situation where our time was dominated by calls to getFieldBuffers() to be able to retrieve memory addresses (22s out of 26s total for a piece of code). We should provide a direct mechanism to access this data so we can avoid all the extra indirection and object creation.

      A proposal:
      getBitAddress();
      getDataAddress();
      getOffsetAddress();

      These interfaces would be made available at the FieldVector interface and simply throw UnsupportedOperationException where not supported.

      Unsupported Operations:
      data for list type
      offset for fixed width types
      data and offset for struct type
      data for union type

        Attachments

          Activity

            People

            • Assignee:
              siddteotia Siddharth Teotia
              Reporter:
              jnadeau Jacques Nadeau
            • Votes:
              0 Vote for this issue
              Watchers:
              4 Start watching this issue

              Dates

              • Created:
                Updated:
                Resolved: