Avatar for the astral-sh user
astral-sh
ruff
BlogDocsChangelog

Performance History

Latest Results

[ty] Support generic manual PEP 695 type aliases (#27083) ## Summary Add specialization support for generic aliases created with `TypeAliasType`, including defaults, reordered parameters, `ParamSpec`, `TypeVarTuple`, nested aliases, constructor inference, and recursive aliases. Validate malformed `type_params` declarations. Closes https://github.com/astral-sh/ty/issues/1737. ## Test plan Added and updated mdtests covering manual-alias specialization in annotations and value positions, defaults and bounds, nested and recursive aliases, `Callable`/`ParamSpec` and variadic aliases, constructor inference, invalid and scoped type parameters, duplicate/default-order/variadic validation, non-generic and double specialization errors, and preservation of native PEP 695 aliases in `Callable` types. Ecosystem impact is large because scipy-stubs makes extensive use of generic `TypeAliasType`, and several other ecosystem projects depend on it. Ecosystem changes look correct/expected for newly understanding these aliases; some reveal existing limitations of PEP 695 type aliases that should be fixed separately.
main
30 minutes ago
Use Namespace runners for Windows (#27101) This continues expanding use of Namespace runners as we assess their viability for our projects. They appear to provide significant performance benefits over the Depot runners at the same size. It's worth noting they do not use a warm pool and the queue times consequently include machine boot and are expected to be higher than Depot on average. Follows #27097 and https://github.com/astral-sh/uv/pull/19751 -------- Move Ruff's Windows test and binary-build jobs to the `namespace-profile-windows-2022-x86-64-16x32` runner already used by uv. At the configured runner sizes, five sequential warm Namespace samples were compared with 20 recent Depot Windows test runs and the ten most recent production releases on `windows-latest`. | Test metric | Depot mean, n=20 (95% CI) | Namespace mean, n=5 (95% CI) | Difference (95% CI) | | --- | ---: | ---: | ---: | | Whole test job | 5:36 (5:18–5:55) | 3:26 (2:49–4:03) | −2:10 / −38.8% (−2:47 to −1:34) | | Compile and test | 2:54 (2:43–3:06) | 2:43 (2:20–3:06) | −11s / −6.5% (−35s to +12s) | | Test metric | Depot median | Namespace median | Difference | | --- | ---: | ---: | ---: | | Whole test job | 5:20 | 3:11 | −2:09 / −40.3% | | Compile and test | 2:41 | 2:33 | −8s / −5.0% | | Release job | GitHub mean, n=10 (95% CI) | Namespace mean, n=5 (95% CI) | Difference (95% CI) | | --- | ---: | ---: | ---: | | x86_64 release | 12:37 (11:46–13:29) | 5:14 (4:14–6:14) | −7:23 / −58.5% (−8:32 to −6:14) | | i686 release | 13:21 (12:37–14:05) | 4:59 (4:28–5:30) | −8:22 / −62.7% (−9:10 to −7:33) | | aarch64 release | 12:49 (12:04–13:33) | 5:25 (4:31–6:20) | −7:24 / −57.7% (−8:25 to −6:22) | | Release job | GitHub median | Namespace median | Difference | | --- | ---: | ---: | ---: | | x86_64 release | 12:47 | 5:11 | −7:36 / −59.5% | | i686 release | 13:16 | 4:55 | −8:21 / −62.9% | | aarch64 release | 12:39 | 5:35 | −7:04 / −55.8% | Runner queue time is separate from execution: | Job | Baseline median (range) | Namespace median (range) | | --- | ---: | ---: | | Windows tests | 0:02 (0:01–0:03), n=20 | 0:28 (0:05–0:43), n=5 | | x86_64 release | 0:04 (0:03–0:56), n=9 | 0:45 (0:18–1:04), n=5 | | i686 release | 0:04 (0:03–0:40), n=9 | 0:31 (0:19–0:48), n=5 | | aarch64 release | 0:05 (0:03–1:06), n=9 | 0:20 (0:20–0:46), n=5 | The Namespace profile provides 16 vCPU and 32 GB RAM, matching Depot. --------- Co-authored-by: Zanie Blue <contact@zanie.dev> Co-authored-by: zaniebot <zaniebot@users.noreply.github.com>
main
50 minutes ago
[ty] Clarify generic TypeAliasType test coverage
cjm/1737-generic-typealiastype-specialization
52 minutes ago
avoid a bit more duplicated work
brent/lsp-both-suppressions
54 minutes ago
[ty] Narrow tagged unions using identity comparisons
alex/identity-tagged-union-narrowing
1 hour ago

Latest Branches

CodSpeed Performance Gauge
0%
[ty] Support generic manual PEP 695 type aliases#27083
57 minutes ago
cd955eb
cjm/1737-generic-typealiastype-specialization
CodSpeed Performance Gauge
0%
Offer both `ruff: ignore` and `noqa` actions#27131
1 hour ago
3134e9e
brent/lsp-both-suppressions
CodSpeed Performance Gauge
0%
1 hour ago
8b2502d
alex/identity-tagged-union-narrowing
© 2026 CodSpeed Technology
Home Terms Privacy Docs