Skip to content

RCA Perf: Reduce RuntimeFeatureFlags size - #3620

Closed
Stefan J. Wernli (swernli) wants to merge 1 commit into
mainfrom
swernli/rca-perf-4
Closed

Stefan J. Wernli (swernli) wants to merge 1 commit into
mainfrom
swernli/rca-perf-4

Conversation

@swernli

Copy link
Copy Markdown
Contributor

This change removes QubitAllocation and MustBeInlined feature flags in favor of tracking those via out-of-band hash sets. QubitAllocation was only ever used to determine callables whose entire call chain must be inlined, while MustBeInlined was about tracking call expressions that must be inlined. By tracking these separately, the RuntimeFeatureFlags enum can be reduced back to u32 and significantly improve RCA perf.


Stack created with GitHub Stacks CLI • Give Feedback 💬

@swernli
Stefan J. Wernli (swernli) force-pushed the swernli/rca-perf-4 branch 2 times, most recently from cd3ca6c to 82067d8 Compare August 21, 2026 17:37
Base automatically changed from swernli/rca-perf-3 to main August 24, 2026 23:21
This change removes `QubitAllocation` and `MustBeInlined` feature flags in favor of tracking those via out-of-band hash sets. `QubitAllocation` was only ever used to determine callables whose entire call chain must be inlined, while `MustBeInlined` was about tracking call expressions that must be inlined. By tracking these separately, the `RuntimeFeatureFlags` enum can be reduced back to `u32` and significantly improve RCA perf.
@swernli

Copy link
Copy Markdown
Contributor Author

Going to close this for now. The complexity trade-off relative to the perf gain makes this not a high priority at the moment. Will return to this idea if/when we need to squeeze any other performance out of the RCA stage.

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