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

Classify `OpCtx` decorations based on their performance cost

    • Type: Icon: Task Task
    • Resolution: Done
    • Priority: Icon: Major - P3 Major - P3
    • None
    • Affects Version/s: None
    • Component/s: Internal Code
    • Labels:
    • Fully Compatible
    • Service Arch 2024-01-22, Service Arch 2024-02-05

      The server makes a new OperationContext for each user operation. Instances of OperationContext are decorated, and making and destroying these decorations is expensive. This ticket should go over the list of all decorations on OperationContext and classify them into the following categories:

      • Trivially constructed and destructed, and already benefit from SERVER-76788.
      • Can be made cheaper by either making construction/destruction trivial, reusing decorations across multiple operations, simplifying the constructor/destructor, etc.
      • Other (i.e. decorations with complex construction/destruction logic that cannot be easily simplified).

      Once we have this list, we can target the second and third groups by:

      • Filing a ticket to simplify decorations that belong to the second group.
      • File tickets for decorations that belong to the third group and assign it to the corresponding server team.

        1. decoration-dtor.png
          124 kB
        2. decorations-by-binary.txt
          2 kB
        3. dtor-timings.txt
          9 kB
        4. invisible-sharding-ycsb-flamegraphs.zip
          6.05 MB

            patrick.freed@mongodb.com Patrick Freed
            amirsaman.memaripour@mongodb.com Amirsaman Memaripour
            0 Vote for this issue
            7 Start watching this issue