forked from genewildish/Mainline
Improve benchmarking system and performance tests #34
Reference in New Issue
Block a user
Delete Branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
User Story
As a developer, I want to have reliable and accurate performance benchmarks that can run consistently across different environments (development, CI with coverage, etc.), so that I can detect performance regressions without false positives from coverage instrumentation or timing variations.
Rationale
The current benchmark tests are failing intermittently when running with coverage instrumentation:
This occurs because:
Proposed Improvements
@pytest.mark.performanceso they can be skipped when not neededAcceptance Criteria
Related Issues
Implementation Plan (2026-03-18)
Phase 1: More Coverage + Better Isolation
Based on our planning, here's what we'll implement:
Add more test coverage:
Improve test isolation:
Fix CI interference:
mise.tomlfor the duplication issue (CI runs tasks twice)test-covtask already uses-m "not benchmark"to exclude benchmarksCurrent Issues Found
mise.tomlCI task has redundant configuration:citask has bothdependslist ANDrunstring that repeats the same commandsmise.tomlto use eitherdependsORrun, not bothTesting Strategy
@pytest.mark.benchmarkmarker for performance tests@pytest.mark.slowfor tests that take >1 secondShould we proceed with implementing these improvements?
Progress Update
Implemented in commit
3a2138a:_is_coverage_active())BENCHMARK_ITERATIONSenv var overridebenchmarktask in mise.tomlThe transform.py performance fix (
c57617b) also addresses the root cause - PIL-based height estimation was causing benchmarks to be slow.