-
Notifications
You must be signed in to change notification settings - Fork 470
chore(claude/skills): cpython skills #15588
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
Conversation
|
|
Bootstrap import analysisComparison of import times between this PR and base. SummaryThe average import time from this PR is: 250 ± 3 ms. The average import time from base is: 251 ± 2 ms. The import time difference between this PR and base is: -1.2 ± 0.1 ms. Import time breakdownThe following import paths have shrunk:
|
Performance SLOsComparing candidate taegyunkim/agent-cpython-skills (b632f9e) with baseline main (3632c6c) 📈 Performance Regressions (2 suites)📈 iastaspectsospath - 24/24✅ ospathbasename_aspectTime: ✅ 5.048µs (SLO: <10.000µs 📉 -49.5%) vs baseline: 📈 +19.3% Memory: ✅ 38.555MB (SLO: <41.000MB -6.0%) vs baseline: +5.2% ✅ ospathbasename_noaspectTime: ✅ 1.092µs (SLO: <10.000µs 📉 -89.1%) vs baseline: +1.1% Memory: ✅ 38.574MB (SLO: <41.000MB -5.9%) vs baseline: +4.8% ✅ ospathjoin_aspectTime: ✅ 6.034µs (SLO: <10.000µs 📉 -39.7%) vs baseline: +0.9% Memory: ✅ 38.653MB (SLO: <41.000MB -5.7%) vs baseline: +5.2% ✅ ospathjoin_noaspectTime: ✅ 2.309µs (SLO: <10.000µs 📉 -76.9%) vs baseline: +0.2% Memory: ✅ 38.692MB (SLO: <41.000MB -5.6%) vs baseline: +4.7% ✅ ospathnormcase_aspectTime: ✅ 3.502µs (SLO: <10.000µs 📉 -65.0%) vs baseline: +0.1% Memory: ✅ 38.574MB (SLO: <41.000MB -5.9%) vs baseline: +5.4% ✅ ospathnormcase_noaspectTime: ✅ 0.576µs (SLO: <10.000µs 📉 -94.2%) vs baseline: +1.1% Memory: ✅ 38.594MB (SLO: <41.000MB -5.9%) vs baseline: +4.7% ✅ ospathsplit_aspectTime: ✅ 4.846µs (SLO: <10.000µs 📉 -51.5%) vs baseline: ~same Memory: ✅ 38.594MB (SLO: <41.000MB -5.9%) vs baseline: +4.8% ✅ ospathsplit_noaspectTime: ✅ 1.592µs (SLO: <10.000µs 📉 -84.1%) vs baseline: -1.3% Memory: ✅ 38.633MB (SLO: <41.000MB -5.8%) vs baseline: +4.9% ✅ ospathsplitdrive_aspectTime: ✅ 3.699µs (SLO: <10.000µs 📉 -63.0%) vs baseline: -0.3% Memory: ✅ 38.535MB (SLO: <41.000MB -6.0%) vs baseline: +4.5% ✅ ospathsplitdrive_noaspectTime: ✅ 0.698µs (SLO: <10.000µs 📉 -93.0%) vs baseline: -1.2% Memory: ✅ 38.614MB (SLO: <41.000MB -5.8%) vs baseline: +4.9% ✅ ospathsplitext_aspectTime: ✅ 4.585µs (SLO: <10.000µs 📉 -54.1%) vs baseline: ~same Memory: ✅ 38.653MB (SLO: <41.000MB -5.7%) vs baseline: +5.9% ✅ ospathsplitext_noaspectTime: ✅ 1.379µs (SLO: <10.000µs 📉 -86.2%) vs baseline: -0.2% Memory: ✅ 38.457MB (SLO: <41.000MB -6.2%) vs baseline: +4.6% 📈 telemetryaddmetric - 30/30✅ 1-count-metric-1-timesTime: ✅ 3.547µs (SLO: <20.000µs 📉 -82.3%) vs baseline: 📈 +16.4% Memory: ✅ 34.859MB (SLO: <35.500MB 🟡 -1.8%) vs baseline: +5.0% ✅ 1-count-metrics-100-timesTime: ✅ 206.790µs (SLO: <220.000µs -6.0%) vs baseline: -0.4% Memory: ✅ 34.780MB (SLO: <35.500MB -2.0%) vs baseline: +4.6% ✅ 1-distribution-metric-1-timesTime: ✅ 3.392µs (SLO: <20.000µs 📉 -83.0%) vs baseline: -1.3% Memory: ✅ 34.800MB (SLO: <35.500MB 🟡 -2.0%) vs baseline: +4.4% ✅ 1-distribution-metrics-100-timesTime: ✅ 221.230µs (SLO: <230.000µs -3.8%) vs baseline: +1.1% Memory: ✅ 34.780MB (SLO: <35.500MB -2.0%) vs baseline: +4.8% ✅ 1-gauge-metric-1-timesTime: ✅ 2.230µs (SLO: <20.000µs 📉 -88.9%) vs baseline: -0.6% Memory: ✅ 34.800MB (SLO: <35.500MB 🟡 -2.0%) vs baseline: +4.7% ✅ 1-gauge-metrics-100-timesTime: ✅ 139.200µs (SLO: <150.000µs -7.2%) vs baseline: +1.1% Memory: ✅ 34.800MB (SLO: <35.500MB 🟡 -2.0%) vs baseline: +4.9% ✅ 1-rate-metric-1-timesTime: ✅ 3.213µs (SLO: <20.000µs 📉 -83.9%) vs baseline: +0.3% Memory: ✅ 34.898MB (SLO: <35.500MB 🟡 -1.7%) vs baseline: +4.8% ✅ 1-rate-metrics-100-timesTime: ✅ 223.201µs (SLO: <250.000µs 📉 -10.7%) vs baseline: +0.7% Memory: ✅ 34.760MB (SLO: <35.500MB -2.1%) vs baseline: +4.7% ✅ 100-count-metrics-100-timesTime: ✅ 20.985ms (SLO: <22.000ms -4.6%) vs baseline: +0.2% Memory: ✅ 34.819MB (SLO: <35.500MB 🟡 -1.9%) vs baseline: +4.7% ✅ 100-distribution-metrics-100-timesTime: ✅ 2.287ms (SLO: <2.550ms 📉 -10.3%) vs baseline: -0.6% Memory: ✅ 34.760MB (SLO: <35.500MB -2.1%) vs baseline: +4.6% ✅ 100-gauge-metrics-100-timesTime: ✅ 1.424ms (SLO: <1.550ms -8.1%) vs baseline: +0.4% Memory: ✅ 34.839MB (SLO: <35.500MB 🟡 -1.9%) vs baseline: +4.7% ✅ 100-rate-metrics-100-timesTime: ✅ 2.273ms (SLO: <2.550ms 📉 -10.9%) vs baseline: +0.2% Memory: ✅ 34.859MB (SLO: <35.500MB 🟡 -1.8%) vs baseline: +5.0% ✅ flush-1-metricTime: ✅ 4.671µs (SLO: <20.000µs 📉 -76.6%) vs baseline: +0.2% Memory: ✅ 34.839MB (SLO: <35.500MB 🟡 -1.9%) vs baseline: +5.2% ✅ flush-100-metricsTime: ✅ 175.883µs (SLO: <250.000µs 📉 -29.6%) vs baseline: +0.3% Memory: ✅ 35.193MB (SLO: <35.500MB 🟡 -0.9%) vs baseline: +4.9% ✅ flush-1000-metricsTime: ✅ 2.176ms (SLO: <2.500ms 📉 -13.0%) vs baseline: +0.2% Memory: ✅ 35.960MB (SLO: <36.500MB 🟡 -1.5%) vs baseline: +4.7% 🟡 Near SLO Breach (15 suites)🟡 coreapiscenario - 10/10 (1 unstable)
|
Description
For feat(profiling): support Python 3.14, I first gathered how we use CPython internal headers/structs, and then compared how they changed from 3.13.0 to 3.14.0. Then, generated an action plan based off on these.
This PR is to have those two skills available so that we can follow similar steps when adding support for newer versions of Python, 3.15+, and free-threading Python.
Testing
Risks
Additional Notes