-
Notifications
You must be signed in to change notification settings - Fork 13.5k
mbe: Change unused_macro_rules
to a DenseBitSet
#143456
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Conversation
These commits modify the If this was unintentional then you should revert the changes before this PR is merged. |
@bors try @rust-timer queue I don't expect an outsized performance impact, but it's worth checking. |
This comment has been minimized.
This comment has been minimized.
mbe: Change `unused_macro_rules` to a `DenseBitSet` Now that it only contains indexes, and no other information, a bitset provides a more compact and simpler representation. This builds on <#143416>. Only the last commit is new.
☀️ Try build successful - checks-actions |
This comment has been minimized.
This comment has been minimized.
Finished benchmarking commit (e47107f): comparison URL. Overall result: no relevant changes - no action neededBenchmarking this pull request means it may be perf-sensitive – we'll automatically label it not fit for rolling up. You can override this, but we strongly advise not to, due to possible changes in compiler perf. @bors rollup=never Instruction countThis benchmark run did not return any relevant results for this metric. Max RSS (memory usage)Results (primary -3.0%, secondary 0.2%)A less reliable metric. May be of interest, but not used to determine the overall result above.
CyclesResults (primary 2.0%, secondary -1.3%)A less reliable metric. May be of interest, but not used to determine the overall result above.
Binary sizeThis benchmark run did not return any relevant results for this metric. Bootstrap: 460.645s -> 459.958s (-0.15%) |
@bors rollup |
A mixed bitset is a dense bitset at low counts, so unless one has >2K macro rules for a given node there won't be a difference. It doesn't feel common today, but if we find some stress-testy crate, or if regular macro rules are increasingly used more (e.g. with macro rules derives), we'll easily be able to switch to that in the future. So this looks good to me. And probably not even worth trying a r? lqd and r=me on the last commit once #143416 lands |
78c30b8
to
1aa5fd9
Compare
This comment has been minimized.
This comment has been minimized.
1aa5fd9
to
2a8e5c1
Compare
This comment has been minimized.
This comment has been minimized.
2a8e5c1
to
b2058ee
Compare
Now that it only contains indexes, and no other information, a bitset provides a more compact and simpler representation.
b2058ee
to
8ee1e98
Compare
@bors r=lqd rollup |
Rollup of 9 pull requests Successful merges: - #143206 (Align attr fixes) - #143236 (Stabilize `mixed_integer_ops_unsigned_sub`) - #143344 (Port `#[path]` to the new attribute parsing infrastructure ) - #143359 (Link to 2024 edition page for `!` fallback changes) - #143456 (mbe: Change `unused_macro_rules` to a `DenseBitSet`) - #143529 (Renamed retain_mut to retain on LinkedList as mentioned in the ACP) - #143535 (Remove duplicate word) - #143544 (compiler: rename BareFn to FnPtr) - #143552 (lib: more eagerly return `self.len()` from `ceil_char_boundary`) r? `@ghost` `@rustbot` modify labels: rollup
Now that it only contains indexes, and no other information, a bitset provides a more compact and simpler representation.
This builds on #143416. Only the last commit is new.