-
Type: Task
-
Resolution: Won't Fix
-
Priority: 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.