Uploaded image for project: 'Core Server'
  1. Core Server
  2. SERVER-55601

Improve performance of Queries.CoveredBlockingSort in SBE

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

      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@mongodb.com Nikita Lapkov (Inactive)
            Reporter:
            ian.boros@mongodb.com Ian Boros
            Votes:
            0 Vote for this issue
            Watchers:
            5 Start watching this issue

              Created:
              Updated:
              Resolved: