Skip to content

[ty] Used shared expression cache during generic call inference#24219

Merged
ibraheemdev merged 1 commit intomainfrom
ibraheem/multi-inference-cache
Mar 26, 2026
Merged

[ty] Used shared expression cache during generic call inference#24219
ibraheemdev merged 1 commit intomainfrom
ibraheem/multi-inference-cache

Conversation

@ibraheemdev
Copy link
Copy Markdown
Member

@ibraheemdev ibraheemdev commented Mar 26, 2026

Resolves astral-sh/ty#3123. The alternative here would be to make call arguments standalone expressions, but I suspect this is cheaper, though it has the downside that nested standalone expressions won't benefit from the cache.

@ibraheemdev ibraheemdev added ty Multi-file analysis & type inference performance Potential performance improvement labels Mar 26, 2026
@astral-sh-bot
Copy link
Copy Markdown

astral-sh-bot bot commented Mar 26, 2026

Typing conformance results

No changes detected ✅

Current numbers
The percentage of diagnostics emitted that were expected errors held steady at 86.59%. The percentage of expected errors that received a diagnostic held steady at 80.96%. The number of fully passing files held steady at 68/132.

@astral-sh-bot
Copy link
Copy Markdown

astral-sh-bot bot commented Mar 26, 2026

Memory usage report

Memory usage unchanged ✅

@astral-sh-bot
Copy link
Copy Markdown

astral-sh-bot bot commented Mar 26, 2026

ecosystem-analyzer results

No diagnostic changes detected ✅

Full report with detailed diff (timing results)

@codspeed-hq
Copy link
Copy Markdown

codspeed-hq bot commented Mar 26, 2026

Merging this PR will improve performance by 24.32%

⚡ 1 improved benchmark
✅ 27 untouched benchmarks
⏩ 30 skipped benchmarks1

Performance Changes

Mode Benchmark BASE HEAD Efficiency
WallTime colour_science 74.8 s 60.1 s +24.32%

Comparing ibraheem/multi-inference-cache (8b33bff) with main (c2a8815)

Open in CodSpeed

Footnotes

  1. 30 benchmarks were skipped, so the baseline results were used instead. If they were deleted from the codebase, click here and archive them to remove them from the performance reports.

@ibraheemdev ibraheemdev marked this pull request as ready for review March 26, 2026 19:34
@astral-sh-bot astral-sh-bot bot requested a review from oconnor663 March 26, 2026 19:34
@ibraheemdev ibraheemdev merged commit 466167e into main Mar 26, 2026
49 checks passed
@ibraheemdev ibraheemdev deleted the ibraheem/multi-inference-cache branch March 26, 2026 22:31
carljm added a commit that referenced this pull request Mar 31, 2026
* main: (40 commits)
  [ty] resolve union-likes in emitting union attribute errors (#24263)
  [ty] Improve support for `Callable` type context (#23888)
  [ty] Propagate type context through `await` expressions (#24256)
  [`pyflakes`] Flag annotated variable redeclarations as `F811` in preview mode (#24244)
  [ty] Preserve `Divergent` when materializing recursive aliases (#24245)
  Fix W391 fixes for consecutive empty notebook cells (#24236)
  [flake8-bugbear] Clarify RUF071 fix safety for non-path string comparisons (#24149)
  [ty] Ban type qualifiers in PEP-695 type aliases (#24242)
  [ty] Include keyword-prefixed symbols in completions for attributes (#24232)
  [ty] Add tests for TypedDict method overloads on unions (#24230)
  [ty] report unused bindings as unnecessary hint diagnostics (#23305)
  Remove unused `non_root` variable (#24238)
  Extend F507 to flag %-format strings with zero placeholders (#24215)
  [`flake8-simplify`] Suppress `SIM105` for `except*` before Python 3.12 (#23869)
  Ignore pre-initialization references in SIM113 (#24235)
  Parenthesize expression in RUF050 fix (#24234)
  Publish playgrounds using the `release-playground` environment (#24223)
  [ty] Fix instance-attribute lookup in methods of protocol classes (#24213)
  [ty] Used shared expression cache during generic call inference (#24219)
  [ty] make `Type::BoundMethod` include instances of same-named methods bound to a subclass (#24039)
  ...
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.

Excessive runtime for nested OrderedDict instances

3 participants