Improve performance of Queries.CoveredBlockingSort in SBE

XMLWordPrintableJSON

    • Fully Compatible
    • v5.0
    • Query Execution 2021-05-03, Query Execution 2021-05-17, Query Execution 2021-05-31
    • None
    • 3
    • None
    • None
    • None
    • None
    • None
    • None
    • None

      There are a few things we can do to improve the performance of this workload:

      1) Eliminate the repeated allocations done in the CheckBoundsStage::getNext() here. We can instead hold a buffer in the stage and re-use that each call to toBson().

      2) Skip the allocation done in IndexBoundsBuilder::checkKey() (there's already a TODO about this)

      3) WTIndexCursorBase::nextKeyString() makes a copy of the key string which requires allocating. We could instead keep a buffer up front in the IXscan stage and then pass a pointer to it. This would be a bit invasive, but it's worth trying to see how much benefit there is.

              Assignee:
              Nikita Lapkov (Inactive)
              Reporter:
              Ian Boros
              Votes:
              0 Vote for this issue
              Watchers:
              5 Start watching this issue

                Created:
                Updated:
                Resolved: