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

Efficient implementation of reference tracking

    • Type: Icon: Task Task
    • Resolution: Won't Fix
    • Priority: Icon: Major - P3 Major - P3
    • None
    • Affects Version/s: None
    • Component/s: None
    • QO 2023-09-04, QO 2023-09-18

      Reference tracking is one of the major reasons for slower performance of Bonsai vs classic. There are several complimentary ways to approach this problem:

      • Reduce the number of call to functions that use reference tracking (for instance to constant folding).
      • Reduce the number of calls to reference tracking.
      • Make reference tracking faster by itself.

      This task is about the latter approach. The main reason why reference tracking is slow is the use of hash-maps and hash-sets, therefore this task is about analysis of the existing code, and replacing hash-based data structures with a custom-designed and more efficient data structures. Since the most efficient way to operate on sets of objects known to us is via bitsets, this is what we will focus on.

        1. matt-useMap-as-vector.diff
          3 kB
          Timour Katchaounov
        2. s-78213-efficient-ref-track-useMap-as-bitset.v1.diff
          22 kB
          Timour Katchaounov

            Assignee:
            timour.katchaounov@mongodb.com Timour Katchaounov
            Reporter:
            timour.katchaounov@mongodb.com Timour Katchaounov
            Votes:
            0 Vote for this issue
            Watchers:
            3 Start watching this issue

              Created:
              Updated:
              Resolved: