-
Notifications
You must be signed in to change notification settings - Fork 469
fix(profiling): use official PyGen_yf from CPython 3.13
#15450
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
fix(profiling): use official PyGen_yf from CPython 3.13
#15450
Conversation
|
|
PyGen_yf from CPython 3.13
Bootstrap import analysisComparison of import times between this PR and base. SummaryThe average import time from this PR is: 251 ± 4 ms. The average import time from base is: 253 ± 5 ms. The import time difference between this PR and base is: -1.6 ± 0.2 ms. Import time breakdownThe following import paths have shrunk:
|
Performance SLOsComparing candidate kowalski/fix-profiling-use-official-pygen_yf-from-cpython-3-13 (7d287dd) with baseline main (53c5793) ❌ Test Failures (1 suite)❌ telemetryaddmetric - 29/30✅ 1-count-metric-1-timesTime: ✅ 3.384µs (SLO: <20.000µs 📉 -83.1%) vs baseline: 📈 +15.9% Memory: ✅ 34.760MB (SLO: <35.500MB -2.1%) vs baseline: +4.7% ✅ 1-count-metrics-100-timesTime: ✅ 203.511µs (SLO: <220.000µs -7.5%) vs baseline: +0.3% Memory: ✅ 34.760MB (SLO: <35.500MB -2.1%) vs baseline: +4.9% ✅ 1-distribution-metric-1-timesTime: ✅ 3.285µs (SLO: <20.000µs 📉 -83.6%) vs baseline: -0.3% Memory: ✅ 34.800MB (SLO: <35.500MB 🟡 -2.0%) vs baseline: +4.7% ✅ 1-distribution-metrics-100-timesTime: ✅ 218.904µs (SLO: <230.000µs -4.8%) vs baseline: -0.2% Memory: ✅ 34.760MB (SLO: <35.500MB -2.1%) vs baseline: +4.7% ✅ 1-gauge-metric-1-timesTime: ✅ 2.170µs (SLO: <20.000µs 📉 -89.2%) vs baseline: -1.3% Memory: ✅ 34.800MB (SLO: <35.500MB 🟡 -2.0%) vs baseline: +5.0% ✅ 1-gauge-metrics-100-timesTime: ✅ 137.555µs (SLO: <150.000µs -8.3%) vs baseline: -0.2% Memory: ✅ 34.721MB (SLO: <35.500MB -2.2%) vs baseline: +4.6% ✅ 1-rate-metric-1-timesTime: ✅ 3.070µs (SLO: <20.000µs 📉 -84.7%) vs baseline: -0.7% Memory: ✅ 34.839MB (SLO: <35.500MB 🟡 -1.9%) vs baseline: +4.9% ✅ 1-rate-metrics-100-timesTime: ✅ 216.081µs (SLO: <250.000µs 📉 -13.6%) vs baseline: -0.3% Memory: ✅ 34.721MB (SLO: <35.500MB -2.2%) vs baseline: +4.5% ✅ 100-count-metrics-100-timesTime: ✅ 20.482ms (SLO: <22.000ms -6.9%) vs baseline: +0.8% Memory: ✅ 34.741MB (SLO: <35.500MB -2.1%) vs baseline: +4.8% ❌ 100-distribution-metrics-100-timesTime: ❌ 2.312ms (SLO: <2.300ms +0.5%) vs baseline: +1.4% Memory: ✅ 34.760MB (SLO: <35.500MB -2.1%) vs baseline: +4.9% ✅ 100-gauge-metrics-100-timesTime: ✅ 1.440ms (SLO: <1.550ms -7.1%) vs baseline: +1.6% Memory: ✅ 34.741MB (SLO: <35.500MB -2.1%) vs baseline: +4.9% ✅ 100-rate-metrics-100-timesTime: ✅ 2.238ms (SLO: <2.550ms 📉 -12.3%) vs baseline: +1.4% Memory: ✅ 34.721MB (SLO: <35.500MB -2.2%) vs baseline: +4.7% ✅ flush-1-metricTime: ✅ 4.602µs (SLO: <20.000µs 📉 -77.0%) vs baseline: -0.1% Memory: ✅ 35.134MB (SLO: <35.500MB 🟡 -1.0%) vs baseline: +5.0% ✅ flush-100-metricsTime: ✅ 172.885µs (SLO: <250.000µs 📉 -30.8%) vs baseline: -0.5% Memory: ✅ 35.114MB (SLO: <35.500MB 🟡 -1.1%) vs baseline: +4.7% ✅ flush-1000-metricsTime: ✅ 2.192ms (SLO: <2.500ms 📉 -12.3%) vs baseline: ~same Memory: ✅ 35.920MB (SLO: <36.500MB 🟡 -1.6%) vs baseline: +4.8% 📈 Performance Regressions (1 suite)📈 iastaspectsospath - 24/24✅ ospathbasename_aspectTime: ✅ 5.207µs (SLO: <10.000µs 📉 -47.9%) vs baseline: 📈 +26.1% Memory: ✅ 40.324MB (SLO: <41.000MB 🟡 -1.6%) vs baseline: +4.9% ✅ ospathbasename_noaspectTime: ✅ 1.094µs (SLO: <10.000µs 📉 -89.1%) vs baseline: +0.4% Memory: ✅ 40.265MB (SLO: <41.000MB 🟡 -1.8%) vs baseline: +5.1% ✅ ospathjoin_aspectTime: ✅ 6.162µs (SLO: <10.000µs 📉 -38.4%) vs baseline: -0.4% Memory: ✅ 40.226MB (SLO: <41.000MB 🟡 -1.9%) vs baseline: +5.0% ✅ ospathjoin_noaspectTime: ✅ 2.286µs (SLO: <10.000µs 📉 -77.1%) vs baseline: -0.3% Memory: ✅ 40.265MB (SLO: <41.000MB 🟡 -1.8%) vs baseline: +5.1% ✅ ospathnormcase_aspectTime: ✅ 3.429µs (SLO: <10.000µs 📉 -65.7%) vs baseline: ~same Memory: ✅ 40.187MB (SLO: <41.000MB 🟡 -2.0%) vs baseline: +4.6% ✅ ospathnormcase_noaspectTime: ✅ 0.572µs (SLO: <10.000µs 📉 -94.3%) vs baseline: -0.1% Memory: ✅ 40.265MB (SLO: <41.000MB 🟡 -1.8%) vs baseline: +5.1% ✅ ospathsplit_aspectTime: ✅ 4.740µs (SLO: <10.000µs 📉 -52.6%) vs baseline: +0.6% Memory: ✅ 40.187MB (SLO: <41.000MB 🟡 -2.0%) vs baseline: +4.6% ✅ ospathsplit_noaspectTime: ✅ 1.592µs (SLO: <10.000µs 📉 -84.1%) vs baseline: +0.3% Memory: ✅ 40.265MB (SLO: <41.000MB 🟡 -1.8%) vs baseline: +5.2% ✅ ospathsplitdrive_aspectTime: ✅ 3.644µs (SLO: <10.000µs 📉 -63.6%) vs baseline: +0.7% Memory: ✅ 40.364MB (SLO: <41.000MB 🟡 -1.6%) vs baseline: +5.5% ✅ ospathsplitdrive_noaspectTime: ✅ 0.697µs (SLO: <10.000µs 📉 -93.0%) vs baseline: ~same Memory: ✅ 40.265MB (SLO: <41.000MB 🟡 -1.8%) vs baseline: +4.9% ✅ ospathsplitext_aspectTime: ✅ 4.513µs (SLO: <10.000µs 📉 -54.9%) vs baseline: -0.3% Memory: ✅ 40.246MB (SLO: <41.000MB 🟡 -1.8%) vs baseline: +4.9% ✅ ospathsplitext_noaspectTime: ✅ 1.381µs (SLO: <10.000µs 📉 -86.2%) vs baseline: ~same Memory: ✅ 40.324MB (SLO: <41.000MB 🟡 -1.6%) vs baseline: +5.0% 🟡 Near SLO Breach (14 suites)🟡 coreapiscenario - 10/10 (1 unstable)
|
15f40f6 to
d192298
Compare
d192298 to
53d9d1b
Compare
53d9d1b to
7d287dd
Compare
Description
https://datadoghq.atlassian.net/browse/PROF-13137
This updates Echion to use the "official" implementation for
PyGen_yffrom CPython 3.13: https://github.com/python/cpython/blob/v3.13.0/Objects/genobject.c#L341-L351Echion PR: P403n1x87/echion#195