Skip to content

Conversation

AlexWaygood
Copy link
Member

#19901 has been approved, but... not the PR that it's stacked on top of :-). This PR experiments to see whether #19901 makes sense as a standalone change.

@AlexWaygood AlexWaygood added performance Potential performance improvement ty Multi-file analysis & type inference labels Aug 14, 2025
Copy link
Contributor

Diagnostic diff on typing conformance tests

Changes were detected when running ty on typing conformance tests
--- old-output.txt	2025-08-14 10:34:28.091971548 +0000
+++ new-output.txt	2025-08-14 10:34:28.158971487 +0000
@@ -1,5 +1,5 @@
 WARN ty is pre-release software and not ready for production use. Expect to encounter bugs, missing features, and fatal errors.
-fatal[panic] Panicked at /home/runner/.cargo/git/checkouts/salsa-e6f3bb7c2a062968/918d35d/src/function/execute.rs:215:25 when checking `/home/runner/work/ruff/ruff/typing/conformance/tests/aliases_typealiastype.py`: `infer_definition_types(Id(174df)): execute: too many cycle iterations`
+fatal[panic] Panicked at /home/runner/.cargo/git/checkouts/salsa-e6f3bb7c2a062968/918d35d/src/function/execute.rs:215:25 when checking `/home/runner/work/ruff/ruff/typing/conformance/tests/aliases_typealiastype.py`: `infer_definition_types(Id(120ec)): execute: too many cycle iterations`
 _directives_deprecated_library.py:15:31: error[invalid-return-type] Function always implicitly returns `None`, which is not assignable to return type `int`
 _directives_deprecated_library.py:30:26: error[invalid-return-type] Function always implicitly returns `None`, which is not assignable to return type `str`
 _directives_deprecated_library.py:36:41: error[invalid-return-type] Function always implicitly returns `None`, which is not assignable to return type `Self@__add__`

Copy link
Contributor

mypy_primer results

No ecosystem changes detected ✅
No memory usage changes detected ✅

@AlexWaygood
Copy link
Member Author

Speedups of 2-3% on the walltime benchmarks 🥳

@AlexWaygood AlexWaygood marked this pull request as ready for review August 14, 2025 10:54
@AlexWaygood AlexWaygood merged commit 3288ac2 into main Aug 14, 2025
41 checks passed
@AlexWaygood AlexWaygood deleted the alex/optimize-codegenerator-standalone branch August 14, 2025 10:54
dcreager added a commit that referenced this pull request Aug 14, 2025
* main:
  Feature/build riscv64 bin (#19819)
  [ty] Add caching to `CodeGeneratorKind::matches()` (#19912)
  [ty] Rename `functionArgumentNames` to `callArgumentNames` inlay hint setting (#19911)
  [ty] Default `ty.inlayHints.*` server settings to true (#19910)
  [ty] Remove py-fuzzer skips for seeds that are no longer slow (#19906)
  [ty] fix deferred name loading in PEP695 generic classes/functions (#19888)
  [ty] Add some additional type safety to `CycleDetector` (#19903)
  [`flake8-blind-except`] Fix `BLE001` false-positive on `raise ... from None` (#19755)
  [ty] resolve docstrings for modules (#19898)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
performance Potential performance improvement ty Multi-file analysis & type inference
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant