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

Peformance: Improve speed of IDL-based server parameter lookups

    • Type: Icon: Improvement Improvement
    • Resolution: Won't Fix
    • Priority: Icon: Major - P3 Major - P3
    • None
    • Affects Version/s: None
    • Component/s: None
    • None
    • Service Arch
    • Service Arch 2024-04-29, Service Arch 2024-05-13
    • 200

      Getting the value of an IDL-based server parameter is much slower than one would expect. According to the Linux "perf" tool, this appears to be because they use intrusive pointers and thus perform tcmallocs and frees. E.g. changing the return value of ResourceConsumption::DocumentUnitCounter::unitSize() from gDocumentUnitSizeBytes (its IDL parameter) to constant 128 (its default) got +20% speedup in microbenchmark Aggregation.FindProjectionThreeFields.

      This ticket is a feature request to rework IDL parameters so they do not perform any heap allocations or use intrusive pointers just to read their values. (geert.bosch@mongodb.com concurred with this proposal.)

            Assignee:
            blake.oler@mongodb.com Blake Oler
            Reporter:
            kevin.cherkauer@mongodb.com Kevin Cherkauer
            Votes:
            0 Vote for this issue
            Watchers:
            8 Start watching this issue

              Created:
              Updated:
              Resolved: