Speed up the execution for acquisitions

XMLWordPrintableJSON

    • Type: Improvement
    • Resolution: Won't Fix
    • Priority: Major - P3
    • None
    • Affects Version/s: None
    • Component/s: None
    • None
    • Catalog and Routing
    • CAR Team 2025-06-23
    • 200
    • None
    • 3
    • TBD
    • 🟦 Shard Catalog
    • None
    • None
    • None
    • None
    • None
    • None

      As part of our internal continuos performance testing, we have identified that acquisitions run around 25 to 30% slower compared to the legacy Autogetters implementation, that has implication on $lookup performance when executing locally on the classic engine. 

      BM_acquire_ShardRole_stats/numSecondaryColls:0/iterations:100000       6457 ns         6455 ns       100000
      BM_acquire_AutoGet/numSecondaryColls:0/iterations:100000               4847 ns         4847 ns       100000

      As part of an extensive testing via micro-benchmark, we have not identified a single culprit, but several small changes can have an overall boost such as

      • using intrusive_ptr instead of shared_ptr where applicable 
      • move instead of copies where applicable
      • avoid system calls where applicable

       

            Assignee:
            Enrico Golfieri
            Reporter:
            Enrico Golfieri
            Votes:
            0 Vote for this issue
            Watchers:
            3 Start watching this issue

              Created:
              Updated:
              Resolved: