Visitar URL original
Run codspeed benchmarks with `profiling` profile by ibraheemdev · Pull Request #21261 · astral-sh/ruff · GitHub
Skip to content

Run codspeed benchmarks with profiling profile - #21261

Merged
ibraheemdev merged 2 commits into
mainfrom
ibraheem/codspeed-profile
Nov 4, 2025
Merged

ibraheemdev merged 2 commits into
mainfrom
ibraheem/codspeed-profile

Conversation

@ibraheemdev

@ibraheemdev ibraheemdev commented Nov 3, 2025 •

Copy link
Copy Markdown
Member

Summary

The codspeed action currently takes >15m to run. Let's see how much this improves it..

@ibraheemdev ibraheemdev added internal An internal refactor or improvement (not for changelogs) ci Related to internal CI tooling labels Nov 3, 2025
@codspeed

codspeed Bot commented Nov 3, 2025 •

Copy link
Copy Markdown

CodSpeed Performance Report

Merging #21261 will degrade performances by 20.06%

Comparing ibraheem/codspeed-profile (ec0a2d2) with main (fe4ee81)

Summary

❌ 39 regressions
✅ 13 untouched

⚠️ Please fix the performance issues or acknowledge them on CodSpeed.

Benchmarks breakdown

Mode Benchmark BASE HEAD Change
❌ Simulation formatter[numpy/globals.py] 234.9 µs 246.1 µs -4.56%
❌ Simulation formatter[unicode/pypinyin.py] 647.3 µs 675.4 µs -4.16%
❌ Simulation lexer[large/dataset.py] 1.1 ms 1.1 ms -5.14%
❌ Simulation linter/all-rules[large/dataset.py] 16.2 ms 18.6 ms -12.76%
❌ Simulation linter/all-rules[numpy/ctypeslib.py] 3.9 ms 4.3 ms -10.62%
❌ Simulation linter/all-rules[numpy/globals.py] 648 µs 732.3 µs -11.51%
❌ Simulation linter/all-rules[pydantic/types.py] 7.5 ms 8.5 ms -11.76%
❌ Simulation linter/all-rules[unicode/pypinyin.py] 1.7 ms 1.9 ms -12.65%
❌ Simulation linter/default-rules[numpy/ctypeslib.py] 984.7 µs 1,032.7 µs -4.65%
❌ Simulation linter/default-rules[pydantic/types.py] 2.1 ms 2.2 ms -5.86%
❌ Simulation linter/default-rules[unicode/pypinyin.py] 390.4 µs 410 µs -4.78%
❌ Simulation linter/all-with-preview-rules[large/dataset.py] 19.6 ms 22.3 ms -12.37%
❌ Simulation linter/all-with-preview-rules[numpy/ctypeslib.py] 4.6 ms 5.1 ms -10.62%
❌ Simulation linter/all-with-preview-rules[numpy/globals.py] 738.7 µs 833.4 µs -11.36%
❌ Simulation linter/all-with-preview-rules[pydantic/types.py] 8.9 ms 10.1 ms -11.32%
❌ Simulation linter/all-with-preview-rules[unicode/pypinyin.py] 1.9 ms 2.2 ms -12.56%
❌ Simulation parser[large/dataset.py] 4.9 ms 5.1 ms -4.42%
❌ Simulation ty_check_file[cold] 119.4 ms 131 ms -8.81%
❌ Simulation ty_check_file[incremental] 4.8 ms 6 ms -20.06%
❌ Simulation ty_micro[complex_constrained_attributes_1] 63 ms 67.1 ms -6.2%
... ... ... ... ... ...

ℹ️ Only the first 20 benchmarks are displayed. Go to the app to view all benchmarks.

@github-actions

github-actions Bot commented Nov 3, 2025 •

Copy link
Copy Markdown
Contributor

ruff-ecosystem results

Linter (stable)

✅ ecosystem check detected no linter changes.

Linter (preview)

✅ ecosystem check detected no linter changes.

Formatter (stable)

✅ ecosystem check detected no format changes.

Formatter (preview)

✅ ecosystem check detected no format changes.

Comment thread .github/workflows/ci.yaml Resolved
@ibraheemdev

Copy link
Copy Markdown
Member Author

This reduces the walltime benchmarks from 15m to 10m, and we should see an even bigger improvement once build caching kicks in, so I think it's worth the downsides.

@ibraheemdev
ibraheemdev merged commit d8106d3 into main Nov 4, 2025
@ibraheemdev
ibraheemdev deleted the ibraheem/codspeed-profile branch November 4, 2025 14:59
carljm added a commit to MatthewMckee4/ruff that referenced this pull request Nov 6, 2025
* main: (188 commits)
  [ty] Discover site-packages from the environment that ty is installed in (astral-sh#21286)
  [ty] Make special cases for `UnionType` slightly narrower (astral-sh#21276)
  Require ignore 0.4.24 in `Cargo.toml` (astral-sh#21292)
  [ty] Favour imported symbols over builtin symbols (astral-sh#21285)
  docs: revise Ruff setup instructions for Zed editor (astral-sh#20935)
  [ty] Update salsa (astral-sh#21281)
  [syntax-error]: no binding for nonlocal  PLE0117 as a semantic syntax error (astral-sh#21032)
  [ty] Constraining a typevar with itself (possibly via union or intersection) (astral-sh#21273)
  [`ruff`] Fix false positives on starred arguments (`RUF057`) (astral-sh#21256)
  [ty] Simplify unions containing multiple type variables during inference (astral-sh#21275)
  [ty] Add `ty_server::Db` trait (astral-sh#21241)
  [ty] Refactor `Range` to/from `TextRange` conversion as prep for notebook support (astral-sh#21230)
  [ty] Fix playground crash when file name includes path separator (astral-sh#21151)
  [`refurb`] Fix false negative for underscores before sign in `Decimal` constructor (`FURB157`) (astral-sh#21190)
  [ty] Allow values of type `None` in type expressions (astral-sh#21263)
  Run codspeed benchmarks with `profiling` profile (astral-sh#21261)
  [ty] Update expected diagnostic count in benchmarks (astral-sh#21269)
  Avoid extra parentheses for long `match` patterns with `as` captures (astral-sh#21176)
  [ty] Update salsa (astral-sh#21265)
  [ty] `dict` is not assignable to `TypedDict` (astral-sh#21238)
  ...
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

ci Related to internal CI tooling internal An internal refactor or improvement (not for changelogs)

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants