-
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
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.)
- is related to
-
SERVER-89643 Performance: Stats collection unitSize() does tcmalloc and free
- Closed