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

Improve ValueGuard performance

    XMLWordPrintableJSON

Details

    • Icon: Task Task
    • Resolution: Fixed
    • Icon: Major - P3 Major - P3
    • 6.1.0-rc0
    • None
    • None
    • None
    • Fully Compatible
    • QE 2022-08-08, QE 2022-08-22

    Description

      The call to releaseValue() is not inlined, (link). Also, it's very common that we dismiss a ValueGuard before it's destroyed, which means the call to releaseValue() does nothing.

      We can improve this by avoiding the call to releaseValue() when the owned value is Nothing. We could extend this for all shallow types, but it would require changing the layout of TypeTags.

      A test version of this change has shown a measurable improvement on some queries.

      Attachments

        Activity

          People

            parker.felix@mongodb.com Parker Felix
            ian.boros@mongodb.com Ian Boros
            Votes:
            0 Vote for this issue
            Watchers:
            4 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved: