Uploaded image for project: 'IMPALA'
  1. IMPALA
  2. IMPALA-5481

RowDescriptors should be shared, rather than copied

    Details

    • Type: Improvement
    • Status: Resolved
    • Priority: Major
    • Resolution: Fixed
    • Affects Version/s: Impala 2.10.0
    • Fix Version/s: Impala 2.10.0
    • Component/s: None
    • Labels:
      None
    • Epic Color:
      ghx-label-8

      Description

      One of the RowBatch c'tors copies the row descriptor into the row batch. This leads to a lot of allocation churn since RowDescriptor contains some vector members, and since the descriptor is usually the same the copies are unnecessary.

      Instead, we should consider allocating the RowDescriptor once from an object pool, and sharing it amongst all row batches that need that descriptor.

      In some tests, RowDescriptor() shows up as 20% of the tcmalloc allocation time.

        Attachments

          Issue Links

            Activity

              People

              • Assignee:
                henryr Henry Robinson
                Reporter:
                henryr Henry Robinson
              • Votes:
                0 Vote for this issue
                Watchers:
                2 Start watching this issue

                Dates

                • Created:
                  Updated:
                  Resolved: