diff options
| author | Max Bernstein <rubybugs@bernsteinbear.com> | 2026-02-10 13:47:52 -0500 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2026-02-10 13:47:52 -0500 |
| commit | c272297e8a9f2b8034739b915707910b4e568479 (patch) | |
| tree | 0a04bf0177809211946d246111abffc79dcac588 /spec/ruby/core/io | |
| parent | 09ae95332f34791c68c841f8ad41b3f3ff9e8609 (diff) | |
## Summary
- Replace the RPO fixed-point iteration in `infer_types` with a worklist-based approach
- Instead of re-scanning every reachable block on each iteration, only re-process blocks whose incoming types actually changed
- Add `BitSet::remove` helper for worklist membership tracking
## Benchmark
On lobsters (release+stats build, 10 iterations):
| Stat | Branch | Master | Delta |
|------|--------|--------|-------|
| compile_time | 1,604ms | 1,808ms | -204ms (-11.3%) |
| Avg iter time | 766ms | 807ms | -41ms (-5.1%) |
Diffstat (limited to 'spec/ruby/core/io')
0 files changed, 0 insertions, 0 deletions
