Peformance: Improve speed of IDL-based server parameter lookups

XMLWordPrintableJSON

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

      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
              Reporter:
              Kevin Cherkauer (Inactive)
              Votes:
              0 Vote for this issue
              Watchers:
              8 Start watching this issue

                Created:
                Updated:
                Resolved: