delegation: store child segment flag in PathSegment#158556
Conversation
|
@bors try @rust-timer queue |
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
delegation: store child segment flag in `PathSegment`
This comment has been minimized.
This comment has been minimized.
|
Finished benchmarking commit (ab95f53): comparison URL. Overall result: no relevant changes - no action neededBenchmarking means the PR may be perf-sensitive. Consider adding rollup=never if this change is not fit for rolling up. @rustbot label: -S-waiting-on-perf -perf-regression Instruction countThis perf run didn't have relevant results for this metric. Max RSS (memory usage)This perf run didn't have relevant results for this metric. CyclesThis perf run didn't have relevant results for this metric. Binary sizeThis perf run didn't have relevant results for this metric. Bootstrap: 486.982s -> 486.289s (-0.14%) |
|
There are no significant improvements, but many insignificant with significance factor 0.6 - 0.8, including
And in this PR:
So I think we can consider perf regression from #157960 to be resolved here. @rustbot ready |
|
HIR ty lowering was modified cc @fmease |
| /// Whether this segment is a delegation's child segment: | ||
| /// `reuse Trait::foo`, in this case `foo` is a delegation's child segment. | ||
| /// Used for faster check during generic args lowering. | ||
| pub delegation_child_segment: bool, |
There was a problem hiding this comment.
Note: the PathSegment's size doesn't change, there's a corresponding assert at the bottom of the file.
|
r=me after addressing #158556 (comment). |
|
✌️ @aerooneqq, you can now approve this pull request! If @petrochenkov told you to " |
|
Reminder, once the PR becomes ready for a review, use |
…ent into `PathSegment`
2bee069 to
91a762b
Compare
|
@bors r=petrochenkov |
…-perf, r=petrochenkov delegation: store child segment flag in `PathSegment` This should reduce [perf overhead](rust-lang#157960 (comment)) of checking whether path segment is a delegation's child segment. r? @petrochenkov
Rollup of 12 pull requests Successful merges: - #158073 (bootstrap: fix panic when repo path contains spaces by switching to CARGO_ENCODED_RUSTFLAGS) - #158169 (Fix debuginfo compression in bootstrap) - #158256 (Avoid parser panics bubbling out to proc macros) - #158375 (Support `DefKind::InlineConst` in `ConstKind::Unevaluated`) - #158417 (Avoid ICE when cfg_eval recovers no item from derive input) - #158556 (delegation: store child segment flag in `PathSegment`) - #158561 (Avoid building rustdoc for tests without doctests) - #158562 (Improve tracing of steps in bootstrap) - #157445 (Allow section override when using patchable-function-entries) - #158081 (trait-system: Recover deferred closure calls after errors) - #158327 (Move attribute and keyword docs from `std` to `core`) - #158468 (Include default-stability info in rustdoc JSON.)
…-perf, r=petrochenkov delegation: store child segment flag in `PathSegment` This should reduce [perf overhead](rust-lang#157960 (comment)) of checking whether path segment is a delegation's child segment. r? @petrochenkov
…-perf, r=petrochenkov delegation: store child segment flag in `PathSegment` This should reduce [perf overhead](rust-lang#157960 (comment)) of checking whether path segment is a delegation's child segment. r? @petrochenkov
…-perf, r=petrochenkov delegation: store child segment flag in `PathSegment` This should reduce [perf overhead](rust-lang#157960 (comment)) of checking whether path segment is a delegation's child segment. r? @petrochenkov
…uwer Rollup of 16 pull requests Successful merges: - #155722 (Introduce aarch64-unknown-linux-pauthtest target) - #156230 (tests: check wasm compiler_builtins object architecture) - #158073 (bootstrap: fix panic when repo path contains spaces by switching to CARGO_ENCODED_RUSTFLAGS) - #158169 (Fix debuginfo compression in bootstrap) - #158256 (Avoid parser panics bubbling out to proc macros) - #158375 (Support `DefKind::InlineConst` in `ConstKind::Unevaluated`) - #158556 (delegation: store child segment flag in `PathSegment`) - #158561 (Avoid building rustdoc for tests without doctests) - #158562 (Improve tracing of steps in bootstrap) - #157445 (Allow section override when using patchable-function-entries) - #158081 (trait-system: Recover deferred closure calls after errors) - #158327 (Move attribute and keyword docs from `std` to `core`) - #158468 (Include default-stability info in rustdoc JSON.) - #158564 (fix `-Z min-recursion-limit` unstable chapter name) - #158568 (llvm-wrapper: use accessors for private fields in LLVM 23+) - #158582 (Comment on needed RAM in huge-stacks.rs)
…uwer Rollup of 16 pull requests Successful merges: - #155722 (Introduce aarch64-unknown-linux-pauthtest target) - #156230 (tests: check wasm compiler_builtins object architecture) - #158073 (bootstrap: fix panic when repo path contains spaces by switching to CARGO_ENCODED_RUSTFLAGS) - #158169 (Fix debuginfo compression in bootstrap) - #158256 (Avoid parser panics bubbling out to proc macros) - #158375 (Support `DefKind::InlineConst` in `ConstKind::Unevaluated`) - #158556 (delegation: store child segment flag in `PathSegment`) - #158561 (Avoid building rustdoc for tests without doctests) - #158562 (Improve tracing of steps in bootstrap) - #157445 (Allow section override when using patchable-function-entries) - #158081 (trait-system: Recover deferred closure calls after errors) - #158327 (Move attribute and keyword docs from `std` to `core`) - #158468 (Include default-stability info in rustdoc JSON.) - #158564 (fix `-Z min-recursion-limit` unstable chapter name) - #158568 (llvm-wrapper: use accessors for private fields in LLVM 23+) - #158582 (Comment on needed RAM in huge-stacks.rs)
…-perf, r=petrochenkov delegation: store child segment flag in `PathSegment` This should reduce [perf overhead](rust-lang#157960 (comment)) of checking whether path segment is a delegation's child segment. r? @petrochenkov
…uwer Rollup of 11 pull requests Successful merges: - #155722 (Introduce aarch64-unknown-linux-pauthtest target) - #156230 (tests: check wasm compiler_builtins object architecture) - #156295 (Pass the whole `GenericArgs` to `Interner::for_each_relevant_impl()`) - #158375 (Support `DefKind::InlineConst` in `ConstKind::Unevaluated`) - #158556 (delegation: store child segment flag in `PathSegment`) - #158081 (trait-system: Recover deferred closure calls after errors) - #158468 (Include default-stability info in rustdoc JSON.) - #158543 (Note usage of documentation hard links in `core::io`) - #158564 (fix `-Z min-recursion-limit` unstable chapter name) - #158568 (llvm-wrapper: use accessors for private fields in LLVM 23+) - #158582 (Comment on needed RAM in huge-stacks.rs)
This should reduce perf overhead of checking whether path segment is a delegation's child segment.
r? @petrochenkov