Classify `OpCtx` decorations based on their performance cost

XMLWordPrintableJSON

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

      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. invisible-sharding-ycsb-flamegraphs.zip
          6.05 MB
        2. dtor-timings.txt
          9 kB
        3. decorations-by-binary.txt
          2 kB
        4. decoration-dtor.png
          decoration-dtor.png
          124 kB

              Assignee:
              Patrick Freed
              Reporter:
              Amirsaman Memaripour
              Votes:
              0 Vote for this issue
              Watchers:
              7 Start watching this issue

                Created:
                Updated:
                Resolved: