- 
    Type:Task 
- 
    Resolution: Unresolved
- 
    Priority:Unknown 
- 
    None
- 
    Affects Version/s: None
- 
    Component/s: Infrastructure, Performance Benchmarking
- 
    None
- 
        Python Drivers
- 
        None
- 
        None
- 
        None
- 
        None
- 
        None
- 
        None
Context
Our current performance tests experience significant variance due to inherent Python constraints such as garbage collection, event scheduling, and other environmental factors. We should explore options for reducing this variance. Some ideas:
- Explicit garbage collection after each test iteration or benchmark
- Running every N (maybe 10?) test iterations in a separate Python process
- More explicit warm-up iterations before measurement of each benchmark
Definition of done
A one-week timeboxed spike to investigate these and similar improvements to our performance testing suite. Success will be indicated by a significant decrease in performance variability.
Pitfalls
Manual garbage collection and process management in Python can be complex and have unintended consequences.