Skip to content

Skip registration for empty unreachable tails - #1328

Merged
charliermarsh merged 1 commit into
mainfrom
charlie/codex-skip-empty-unreachable-tails-20261018
Oct 18, 2026
Merged

charliermarsh merged 1 commit into
mainfrom
charlie/codex-skip-empty-unreachable-tails-20261018

Conversation

@charliermarsh

@charliermarsh charliermarsh commented Oct 18, 2026 •

Copy link
Copy Markdown
Member

We avoid creating a discarded compiler when a terminating statement has no remaining statements. Nonempty unreachable tails retain the existing constant-cache and private-name handling.

Matched project profiles use 0.57-0.88% fewer instructions for Mypy across the sampled Python 3.12-3.15 configurations, 0.57% fewer for SymPy and 0.93% fewer for Django on Python 3.15 O2. The 177-case instruction geometric mean improves by 0.17%, with individual changes from -3.37% to +0.54%. All measured project outputs are byte-identical.

Native CPU time decreases 1.19% for Mypy and 1.17% for SymPy, improving in both measurement orders. Mypy peak RSS rises 0.75 MiB (2.53%); SymPy peak RSS falls 0.28%. Each study retains one timing warning and all 120 measured samples, with no exclusions.

Django native CPU timing is order-sensitive: +0.21% in base-first order and -2.98% in head-first order, with flat peak RSS. We do not claim a native CPU gain for Django. All compatibility configurations pass with no new differences.

@charliermarsh
charliermarsh merged commit b77a92a into main Oct 18, 2026
14 checks passed
@charliermarsh
charliermarsh deleted the charlie/codex-skip-empty-unreachable-tails-20261018 branch October 18, 2026 08:05
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant