-
Type:
Task
-
Resolution: Unresolved
-
Priority:
Critical - P2
-
None
-
Affects Version/s: None
-
Component/s: Performance Benchmarking
-
None
-
Python Drivers
-
Not Needed
-
None
-
None
-
None
-
None
-
None
-
None
Context
PYTHON-6084 changed how CI selects the Python interpreter, but the selection doesn't carry over to the test step: perf tasks run on the toolchain Python instead of the uv-managed build. This caused a ~15–30% regression on CPU-bound benchmarks (BSON/JSON, see perf run), because we did not choose uv's optimized python binaries. Driver code did not change.
Definition of done
# Interpreter selection persists to all steps that invoke uv (e.g. by re-sourcing setup-uv-python.sh in run-tests.sh).
# A perf run confirms the intended interpreter, and the perf dashboard is rebaselined so the delta isn't triaged as a driver regression.
Pitfalls
* Pinning UV_PYTHON in perf task vars won't restore old numbers — uv reuses the existing venv and the setup script prefers the toolchain interpreter. Restoring the managed build needs an explicit choice.
* Don't break steps that intentionally use a fallback interpreter (see install-dependencies.sh).
- is related to
-
PYTHON-6084 Improve python version handling in Evergreen
-
- Closed
-