Skip to content
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

Use new faster fxhash. #128323

Conversation

aDotInTheVoid
Copy link
Member

This was implemented in rust-lang/rustc-hash#37 by Orson Peters and benchmarked in
#125133.

r? @ghost

@bors try @rust-timer queue

@rustbot rustbot added A-rustdoc-json Area: Rustdoc JSON backend S-waiting-on-review Status: Awaiting review from the assignee but also interested parties. T-compiler Relevant to the compiler team, which will review and decide on the PR/issue. T-rustdoc Relevant to the rustdoc team, which will review and decide on the PR/issue. labels Jul 29, 2024
This was implemented in rust-lang/rustc-hash#37
by Orson Peters and benchmarked in
rust-lang#125133.
@rust-cloud-vms rust-cloud-vms bot force-pushed the fxhash-2-polynomial-boogaloo branch from a5e0319 to b1e5429 Compare July 29, 2024 00:28
@aDotInTheVoid
Copy link
Member Author

@bors try @rust-timer queue

@rust-timer

This comment has been minimized.

@rustbot rustbot added the S-waiting-on-perf Status: Waiting on a perf run to be completed. label Jul 29, 2024
@bors
Copy link
Contributor

bors commented Jul 29, 2024

⌛ Trying commit b1e5429 with merge 235c20a...

bors added a commit to rust-lang-ci/rust that referenced this pull request Jul 29, 2024
…ogaloo, r=<try>

Use new faster fxhash.

This was implemented in rust-lang/rustc-hash#37 by Orson Peters and benchmarked in
rust-lang#125133.

r? `@ghost`

`@bors` try `@rust-timer` queue
bors added a commit to rust-lang-ci/rust that referenced this pull request Jul 29, 2024
…try>

Defid derive hash

r? `@ghost`

Built on-top of rust-lang#128323, to see if using new fxhash lets us eliminate DefId custom hashing.

(prediction: this kills perf, as we'll hash 2 u32's instead of 1 u64)
bors added a commit to rust-lang-ci/rust that referenced this pull request Jul 29, 2024
…try>

Swap defid fields

Built on-top of rust-lang#128323, to see if using new fxhash means we don't need to be carefull about where in the DefId we place the entropy

r? `@ghost`
@rust-log-analyzer
Copy link
Collaborator

The job x86_64-gnu-llvm-17 failed! Check out the build log: (web) (plain)

Click to see the possible cause of the failure (guessed by this bot)
------
 > importing cache manifest from ghcr.io/rust-lang/rust-ci-cache:3aacb9c90579defe09351ac5e8ee504359f8054da6326ff19038f1b7c90e3cb2aafe33685c6d9b76ee8d2ccbd187ca80c46ab5380485abdd8c0ce7d69cd8d8fd:
------
##[endgroup]
Setting extra environment values for docker:  --env ENABLE_GCC_CODEGEN=1 --env GCC_EXEC_PREFIX=/usr/lib/gcc/
[CI_JOB_NAME=x86_64-gnu-llvm-17]
---
sccache: Starting the server...
##[group]Configure the build
configure: processing command line
configure: 
configure: build.configure-args := ['--build=x86_64-unknown-linux-gnu', '--llvm-root=/usr/lib/llvm-17', '--enable-llvm-link-shared', '--set', 'rust.thin-lto-import-instr-limit=10', '--set', 'change-id=99999999', '--enable-verbose-configure', '--enable-sccache', '--disable-manage-submodules', '--enable-locked-deps', '--enable-cargo-native-static', '--set', 'rust.codegen-units-std=1', '--set', 'dist.compression-profile=balanced', '--dist-compression-formats=xz', '--set', 'rust.lld=false', '--disable-dist-src', '--release-channel=nightly', '--enable-debug-assertions', '--enable-overflow-checks', '--enable-llvm-assertions', '--set', 'rust.verify-llvm-ir', '--set', 'rust.codegen-backends=llvm,cranelift,gcc', '--set', 'llvm.static-libstdcpp', '--enable-new-symbol-mangling']
configure: target.x86_64-unknown-linux-gnu.llvm-config := /usr/lib/llvm-17/bin/llvm-config
configure: llvm.link-shared     := True
configure: rust.thin-lto-import-instr-limit := 10
configure: change-id            := 99999999
---
110 
- error: missing required bound on `Iterator`
-   --> $DIR/self-outlives-lint.rs:142:5
-    |
- LL |     type Iterator<'a>: Iterator<Item = Self::Item<'a>>;
-    |                                                       |
-    |                                                       help: add the required where clause: `where Self: 'a`
-    |
-    = note: this bound is currently required to ensure that impls have maximum flexibility
---
+ 
+ error: missing required bound on `Iterator`
+   --> $DIR/self-outlives-lint.rs:142:5
+    |
+ LL |     type Iterator<'a>: Iterator<Item = Self::Item<'a>>;
+    |                                                       |
+    |                                                       help: add the required where clause: `where Self: 'a`
129    |
130    = note: this bound is currently required to ensure that impls have maximum flexibility
---
To only update this specific test, also pass `--test-args generic-associated-types/self-outlives-lint.rs`

error: 1 errors occurred comparing output.
status: exit status: 1
command: env -u RUSTC_LOG_COLOR RUSTC_ICE="0" RUST_BACKTRACE="short" "/checkout/obj/build/x86_64-unknown-linux-gnu/stage2/bin/rustc" "/checkout/tests/ui/generic-associated-types/self-outlives-lint.rs" "-Zthreads=1" "-Zsimulate-remapped-rust-src-base=/rustc/FAKE_PREFIX" "-Ztranslate-remapped-path-to-local-path=no" "-Z" "ignore-directory-in-diagnostics-source-blocks=/cargo" "-Z" "ignore-directory-in-diagnostics-source-blocks=/checkout/vendor" "--sysroot" "/checkout/obj/build/x86_64-unknown-linux-gnu/stage2" "--target=x86_64-unknown-linux-gnu" "--check-cfg" "cfg(FALSE)" "--error-format" "json" "--json" "future-incompat" "-Ccodegen-units=1" "-Zui-testing" "-Zdeduplicate-diagnostics=no" "-Zwrite-long-types-to-disk=no" "-Cstrip=debuginfo" "--emit" "metadata" "-C" "prefer-dynamic" "--out-dir" "/checkout/obj/build/x86_64-unknown-linux-gnu/test/ui/generic-associated-types/self-outlives-lint" "-A" "unused" "-A" "internal_features" "-Crpath" "-Cdebuginfo=0" "-Lnative=/checkout/obj/build/x86_64-unknown-linux-gnu/native/rust-test-helpers" "-L" "/checkout/obj/build/x86_64-unknown-linux-gnu/test/ui/generic-associated-types/self-outlives-lint/auxiliary"
--- stderr -------------------------------
error: missing required bound on `Item`
##[error]  --> /checkout/tests/ui/generic-associated-types/self-outlives-lint.rs:7:5
   |
---

error: missing required bounds on `Out`
##[error]  --> /checkout/tests/ui/generic-associated-types/self-outlives-lint.rs:44:5
   |
LL |     type Out<'x, 'y>;
   |                     |
   |                     |
   |                     help: add the required where clauses: `where T: 'x, U: 'y`
   = note: these bounds are currently required to ensure that impls have maximum flexibility
   = note: we are soliciting feedback, see issue #87479 <https://github.com/rust-lang/rust/issues/87479> for more information

error: missing required bound on `Out`
error: missing required bound on `Out`
##[error]  --> /checkout/tests/ui/generic-associated-types/self-outlives-lint.rs:59:5
   |
LL |     type Out<'x, D>;
   |                    |
   |                    |
   |                    help: add the required where clause: `where D: 'x`
   = note: this bound is currently required to ensure that impls have maximum flexibility
   = note: we are soliciting feedback, see issue #87479 <https://github.com/rust-lang/rust/issues/87479> for more information

error: missing required bound on `Out`
error: missing required bound on `Out`
##[error]  --> /checkout/tests/ui/generic-associated-types/self-outlives-lint.rs:75:5
   |
LL |     type Out<'x, D>;
   |                    |
   |                    |
   |                    help: add the required where clause: `where D: 'x`
   = note: this bound is currently required to ensure that impls have maximum flexibility
   = note: we are soliciting feedback, see issue #87479 <https://github.com/rust-lang/rust/issues/87479> for more information

error: missing required bound on `Out`
error: missing required bound on `Out`
##[error]  --> /checkout/tests/ui/generic-associated-types/self-outlives-lint.rs:90:5
   |
LL |     type Out<'x, D>;
   |                    |
   |                    |
   |                    help: add the required where clause: `where D: 'x`
   = note: this bound is currently required to ensure that impls have maximum flexibility
   = note: we are soliciting feedback, see issue #87479 <https://github.com/rust-lang/rust/issues/87479> for more information

error: missing required bounds on `Bar`
error: missing required bounds on `Bar`
##[error]  --> /checkout/tests/ui/generic-associated-types/self-outlives-lint.rs:112:5
   |
LL |     type Bar<'b>;
   |                 |
   |                 |
   |                 help: add the required where clauses: `where Self: 'a, Self: 'b`
   = note: these bounds are currently required to ensure that impls have maximum flexibility
   = note: we are soliciting feedback, see issue #87479 <https://github.com/rust-lang/rust/issues/87479> for more information

error: missing required bound on `Bar`
error: missing required bound on `Bar`
##[error]  --> /checkout/tests/ui/generic-associated-types/self-outlives-lint.rs:120:5
   |
LL |     type Bar<'b>;
   |                 |
   |                 help: add the required where clause: `where Self: 'b`
   |
   = note: this bound is currently required to ensure that impls have maximum flexibility
   = note: this bound is currently required to ensure that impls have maximum flexibility
   = note: we are soliciting feedback, see issue #87479 <https://github.com/rust-lang/rust/issues/87479> for more information

error: missing required bound on `Bar`
##[error]  --> /checkout/tests/ui/generic-associated-types/self-outlives-lint.rs:127:5
   |
LL |     type Bar<'b>;
   |                 |
   |                 help: add the required where clause: `where Self: 'b`
   |
   = note: this bound is currently required to ensure that impls have maximum flexibility
---

error: missing required bound on `Iterator`
##[error]  --> /checkout/tests/ui/generic-associated-types/self-outlives-lint.rs:142:5
   |
LL |     type Iterator<'a>: Iterator<Item = Self::Item<'a>>;
   |                                                       |
   |                                                       help: add the required where clause: `where Self: 'a`
   |
   = note: this bound is currently required to ensure that impls have maximum flexibility
---

error: missing required bound on `Bar`
##[error]  --> /checkout/tests/ui/generic-associated-types/self-outlives-lint.rs:157:5
   |
LL |     type Bar<'a, 'b>;
   |                     |
   |                     |
   |                     help: add the required where clause: `where 'b: 'a`
   = note: this bound is currently required to ensure that impls have maximum flexibility
   = note: we are soliciting feedback, see issue #87479 <https://github.com/rust-lang/rust/issues/87479> for more information

error: missing required bound on `Fut`
error: missing required bound on `Fut`
##[error]  --> /checkout/tests/ui/generic-associated-types/self-outlives-lint.rs:173:5
   |
LL |     type Fut<'out>;
   |                   |
   |                   |
   |                   help: add the required where clause: `where 'ctx: 'out`
   = note: this bound is currently required to ensure that impls have maximum flexibility
   = note: we are soliciting feedback, see issue #87479 <https://github.com/rust-lang/rust/issues/87479> for more information

error: missing required bound on `Item`
---
12 
- error: rule #3 of macro `num2` is never used
-   --> $DIR/unused-macro-rules-compile-error.rs:22:5
-    |
- LL |     (two_) => { compile_error! };
- 
19 error: rule #2 of macro `num2` is never used
20   --> $DIR/unused-macro-rules-compile-error.rs:20:5
21    |
21    |

22 LL |     (two) => { fn compile_error() {} };
+ 
+ error: rule #3 of macro `num2` is never used
+   --> $DIR/unused-macro-rules-compile-error.rs:22:5
+    |
+    |
+ LL |     (two_) => { compile_error! };
24 
25 error: aborting due to 3 previous errors
26 

---
To only update this specific test, also pass `--test-args lint/unused/unused-macro-rules-compile-error.rs`

error: 1 errors occurred comparing output.
status: exit status: 1
command: env -u RUSTC_LOG_COLOR RUSTC_ICE="0" RUST_BACKTRACE="short" "/checkout/obj/build/x86_64-unknown-linux-gnu/stage2/bin/rustc" "/checkout/tests/ui/lint/unused/unused-macro-rules-compile-error.rs" "-Zthreads=1" "-Zsimulate-remapped-rust-src-base=/rustc/FAKE_PREFIX" "-Ztranslate-remapped-path-to-local-path=no" "-Z" "ignore-directory-in-diagnostics-source-blocks=/cargo" "-Z" "ignore-directory-in-diagnostics-source-blocks=/checkout/vendor" "--sysroot" "/checkout/obj/build/x86_64-unknown-linux-gnu/stage2" "--target=x86_64-unknown-linux-gnu" "--check-cfg" "cfg(FALSE)" "--error-format" "json" "--json" "future-incompat" "-Ccodegen-units=1" "-Zui-testing" "-Zdeduplicate-diagnostics=no" "-Zwrite-long-types-to-disk=no" "-Cstrip=debuginfo" "--emit" "metadata" "-C" "prefer-dynamic" "--out-dir" "/checkout/obj/build/x86_64-unknown-linux-gnu/test/ui/lint/unused/unused-macro-rules-compile-error" "-A" "unused" "-A" "internal_features" "-Crpath" "-Cdebuginfo=0" "-Lnative=/checkout/obj/build/x86_64-unknown-linux-gnu/native/rust-test-helpers" "-L" "/checkout/obj/build/x86_64-unknown-linux-gnu/test/ui/lint/unused/unused-macro-rules-compile-error/auxiliary"
--- stderr -------------------------------
error: rule #5 of macro `num` is never used
##[error]  --> /checkout/tests/ui/lint/unused/unused-macro-rules-compile-error.rs:12:5
   |
   |
LL |     (four) => { 4 }; //~ ERROR: rule #5 of macro
   |
note: the lint level is defined here
  --> /checkout/tests/ui/lint/unused/unused-macro-rules-compile-error.rs:1:9
   |
   |
LL | #![deny(unused_macro_rules)]
   |         ^^^^^^^^^^^^^^^^^^

error: rule #2 of macro `num2` is never used
##[error]  --> /checkout/tests/ui/lint/unused/unused-macro-rules-compile-error.rs:20:5
   |
LL |     (two) => { fn compile_error() {} }; //~ ERROR: rule #2 of macro

error: rule #3 of macro `num2` is never used
##[error]  --> /checkout/tests/ui/lint/unused/unused-macro-rules-compile-error.rs:22:5
   |
   |
LL |     (two_) => { compile_error! }; //~ ERROR: rule #3 of macro

error: aborting due to 3 previous errors
------------------------------------------

---
-   --> $DIR/unused-macro-rules-decl.rs:11:5
+ error: rule #2 of macro `num` is never used
+   --> $DIR/unused-macro-rules-decl.rs:9:5
3    |
- LL |     (four) => { 4 },
-    |     ^^^^^^
+ LL |     (two) => { 2 },
6    |
7 note: the lint level is defined here
8   --> $DIR/unused-macro-rules-decl.rs:2:9

---
-   --> $DIR/unused-macro-rules-decl.rs:9:5
+ error: rule #4 of macro `num` is never used
+   --> $DIR/unused-macro-rules-decl.rs:11:5
15    |
- LL |     (two) => { 2 },
-    |     ^^^^^
+ LL |     (four) => { 4 },
18 
19 error: rule #3 of macro `num_rec` is never used
20   --> $DIR/unused-macro-rules-decl.rs:31:5

---
To only update this specific test, also pass `--test-args lint/unused/unused-macro-rules-decl.rs`

error: 1 errors occurred comparing output.
status: exit status: 1
command: env -u RUSTC_LOG_COLOR RUSTC_ICE="0" RUST_BACKTRACE="short" "/checkout/obj/build/x86_64-unknown-linux-gnu/stage2/bin/rustc" "/checkout/tests/ui/lint/unused/unused-macro-rules-decl.rs" "-Zthreads=1" "-Zsimulate-remapped-rust-src-base=/rustc/FAKE_PREFIX" "-Ztranslate-remapped-path-to-local-path=no" "-Z" "ignore-directory-in-diagnostics-source-blocks=/cargo" "-Z" "ignore-directory-in-diagnostics-source-blocks=/checkout/vendor" "--sysroot" "/checkout/obj/build/x86_64-unknown-linux-gnu/stage2" "--target=x86_64-unknown-linux-gnu" "--check-cfg" "cfg(FALSE)" "--error-format" "json" "--json" "future-incompat" "-Ccodegen-units=1" "-Zui-testing" "-Zdeduplicate-diagnostics=no" "-Zwrite-long-types-to-disk=no" "-Cstrip=debuginfo" "--emit" "metadata" "-C" "prefer-dynamic" "--out-dir" "/checkout/obj/build/x86_64-unknown-linux-gnu/test/ui/lint/unused/unused-macro-rules-decl" "-A" "unused" "-A" "internal_features" "-Crpath" "-Cdebuginfo=0" "-Lnative=/checkout/obj/build/x86_64-unknown-linux-gnu/native/rust-test-helpers" "-L" "/checkout/obj/build/x86_64-unknown-linux-gnu/test/ui/lint/unused/unused-macro-rules-decl/auxiliary"
--- stderr -------------------------------
error: rule #2 of macro `num` is never used
##[error]  --> /checkout/tests/ui/lint/unused/unused-macro-rules-decl.rs:9:5
   |
   |
LL |     (two) => { 2 }, //~ ERROR: rule #2 of macro
   |
note: the lint level is defined here
  --> /checkout/tests/ui/lint/unused/unused-macro-rules-decl.rs:2:9
   |
   |
LL | #![deny(unused_macro_rules)]
   |         ^^^^^^^^^^^^^^^^^^

error: rule #4 of macro `num` is never used
##[error]  --> /checkout/tests/ui/lint/unused/unused-macro-rules-decl.rs:11:5
   |
LL |     (four) => { 4 }, //~ ERROR: rule #4 of macro

error: rule #3 of macro `num_rec` is never used
##[error]  --> /checkout/tests/ui/lint/unused/unused-macro-rules-decl.rs:31:5
   |
   |
LL |     (three) => { //~ ERROR: rule #3 of macro

error: aborting due to 3 previous errors
------------------------------------------

---
-   --> $DIR/unused-macro-rules.rs:10:5
+ error: rule #2 of macro `num` is never used
+   --> $DIR/unused-macro-rules.rs:8:5
3    |
- LL |     (four) => { 4 };
-    |     ^^^^^^
+ LL |     (two) => { 2 };
6    |
7 note: the lint level is defined here
8   --> $DIR/unused-macro-rules.rs:1:9

---
-   --> $DIR/unused-macro-rules.rs:8:5
+ error: rule #4 of macro `num` is never used
+   --> $DIR/unused-macro-rules.rs:10:5
15    |
- LL |     (two) => { 2 };
-    |     ^^^^^
+ LL |     (four) => { 4 };
18 
19 error: rule #3 of macro `num_rec` is never used
20   --> $DIR/unused-macro-rules.rs:30:5

---
To only update this specific test, also pass `--test-args lint/unused/unused-macro-rules.rs`

error: 1 errors occurred comparing output.
status: exit status: 1
command: env -u RUSTC_LOG_COLOR RUSTC_ICE="0" RUST_BACKTRACE="short" "/checkout/obj/build/x86_64-unknown-linux-gnu/stage2/bin/rustc" "/checkout/tests/ui/lint/unused/unused-macro-rules.rs" "-Zthreads=1" "-Zsimulate-remapped-rust-src-base=/rustc/FAKE_PREFIX" "-Ztranslate-remapped-path-to-local-path=no" "-Z" "ignore-directory-in-diagnostics-source-blocks=/cargo" "-Z" "ignore-directory-in-diagnostics-source-blocks=/checkout/vendor" "--sysroot" "/checkout/obj/build/x86_64-unknown-linux-gnu/stage2" "--target=x86_64-unknown-linux-gnu" "--check-cfg" "cfg(FALSE)" "--error-format" "json" "--json" "future-incompat" "-Ccodegen-units=1" "-Zui-testing" "-Zdeduplicate-diagnostics=no" "-Zwrite-long-types-to-disk=no" "-Cstrip=debuginfo" "--emit" "metadata" "-C" "prefer-dynamic" "--out-dir" "/checkout/obj/build/x86_64-unknown-linux-gnu/test/ui/lint/unused/unused-macro-rules" "-A" "unused" "-A" "internal_features" "-Crpath" "-Cdebuginfo=0" "-Lnative=/checkout/obj/build/x86_64-unknown-linux-gnu/native/rust-test-helpers" "-L" "/checkout/obj/build/x86_64-unknown-linux-gnu/test/ui/lint/unused/unused-macro-rules/auxiliary"
--- stderr -------------------------------
error: rule #2 of macro `num` is never used
##[error]  --> /checkout/tests/ui/lint/unused/unused-macro-rules.rs:8:5
   |
   |
LL |     (two) => { 2 }; //~ ERROR: rule #2 of macro
   |
note: the lint level is defined here
  --> /checkout/tests/ui/lint/unused/unused-macro-rules.rs:1:9
   |
   |
LL | #![deny(unused_macro_rules)]
   |         ^^^^^^^^^^^^^^^^^^

error: rule #4 of macro `num` is never used
##[error]  --> /checkout/tests/ui/lint/unused/unused-macro-rules.rs:10:5
   |
LL |     (four) => { 4 }; //~ ERROR: rule #4 of macro

error: rule #3 of macro `num_rec` is never used
##[error]  --> /checkout/tests/ui/lint/unused/unused-macro-rules.rs:30:5
   |
   |
LL |     (three) => { //~ ERROR: rule #3 of macro

error: aborting due to 3 previous errors
------------------------------------------



---- [ui] tests/ui/stats/hir-stats.rs stdout ----
diff of stderr:

8 ast-stats-1 WherePredicate            56 ( 0.8%)             1            56
9 ast-stats-1 - BoundPredicate            56 ( 0.8%)             1
10 ast-stats-1 Attribute                 64 ( 1.0%)             2            32
- ast-stats-1 - Normal                    32 ( 0.5%)             1
12 ast-stats-1 - DocComment                32 ( 0.5%)             1
+ ast-stats-1 - Normal                    32 ( 0.5%)             1
13 ast-stats-1 Local                     80 ( 1.2%)             1            80
14 ast-stats-1 ForeignItem               88 ( 1.3%)             1            88
15 ast-stats-1 - Fn                        88 ( 1.3%)             1

16 ast-stats-1 Arm                       96 ( 1.4%)             2            48
17 ast-stats-1 FnDecl                   120 ( 1.8%)             5            24
+ ast-stats-1 Param                    160 ( 2.4%)             4            40
18 ast-stats-1 FieldDef                 160 ( 2.4%)             2            80
19 ast-stats-1 Stmt                     160 ( 2.4%)             5            32
20 ast-stats-1 - Let                       32 ( 0.5%)             1

21 ast-stats-1 - MacCall                   32 ( 0.5%)             1
22 ast-stats-1 - Expr                      96 ( 1.4%)             3
- ast-stats-1 Param                    160 ( 2.4%)             4            40
24 ast-stats-1 Block                    192 ( 2.9%)             6            32
25 ast-stats-1 Variant                  208 ( 3.1%)             2           104
26 ast-stats-1 GenericBound             352 ( 5.3%)             4            88

41 ast-stats-1 - Block                    216 ( 3.3%)             3
42 ast-stats-1 PathSegment              744 (11.2%)            31            24
43 ast-stats-1 Ty                       896 (13.5%)            14            64
- ast-stats-1 - Ptr                       64 ( 1.0%)             1
45 ast-stats-1 - Ref                       64 ( 1.0%)             1
+ ast-stats-1 - Ptr                       64 ( 1.0%)             1
46 ast-stats-1 - ImplicitSelf             128 ( 1.9%)             2
47 ast-stats-1 - Path                     640 ( 9.6%)            10
48 ast-stats-1 Item                   1_224 (18.4%)             9           136

- ast-stats-1 - Trait                    136 ( 2.0%)             1
- ast-stats-1 - Enum                     136 ( 2.0%)             1
51 ast-stats-1 - ForeignMod               136 ( 2.0%)             1
+ ast-stats-1 - Trait                    136 ( 2.0%)             1
52 ast-stats-1 - Impl                     136 ( 2.0%)             1
+ ast-stats-1 - Enum                     136 ( 2.0%)             1
53 ast-stats-1 - Fn                       272 ( 4.1%)             2
54 ast-stats-1 - Use                      408 ( 6.1%)             3
55 ast-stats-1 ----------------------------------------------------------------

73 ast-stats-2 Attribute                128 ( 1.8%)             4            32
74 ast-stats-2 - DocComment                32 ( 0.4%)             1
75 ast-stats-2 - Normal                    96 ( 1.3%)             3
+ ast-stats-2 Param                    160 ( 2.2%)             4            40
76 ast-stats-2 FieldDef                 160 ( 2.2%)             2            80
77 ast-stats-2 Stmt                     160 ( 2.2%)             5            32
78 ast-stats-2 - Let                       32 ( 0.4%)             1

79 ast-stats-2 - Semi                      32 ( 0.4%)             1
80 ast-stats-2 - Expr                      96 ( 1.3%)             3
- ast-stats-2 Param                    160 ( 2.2%)             4            40
82 ast-stats-2 Block                    192 ( 2.6%)             6            32
83 ast-stats-2 Variant                  208 ( 2.9%)             2           104
84 ast-stats-2 GenericBound             352 ( 4.8%)             4            88

100 ast-stats-2 - Block                    216 ( 3.0%)             3
101 ast-stats-2 PathSegment              864 (11.9%)            36            24
102 ast-stats-2 Ty                       896 (12.3%)            14            64
- ast-stats-2 - Ptr                       64 ( 0.9%)             1
104 ast-stats-2 - Ref                       64 ( 0.9%)             1
+ ast-stats-2 - Ptr                       64 ( 0.9%)             1
105 ast-stats-2 - ImplicitSelf             128 ( 1.8%)             2
106 ast-stats-2 - Path                     640 ( 8.8%)            10
107 ast-stats-2 Item                   1_496 (20.5%)            11           136

- ast-stats-2 - Trait                    136 ( 1.9%)             1
109 ast-stats-2 - Enum                     136 ( 1.9%)             1
+ ast-stats-2 - Trait                    136 ( 1.9%)             1
+ ast-stats-2 - Impl                     136 ( 1.9%)             1
110 ast-stats-2 - ExternCrate              136 ( 1.9%)             1
111 ast-stats-2 - ForeignMod               136 ( 1.9%)             1
- ast-stats-2 - Impl                     136 ( 1.9%)             1
113 ast-stats-2 - Fn                       272 ( 3.7%)             2
114 ast-stats-2 - Use                      544 ( 7.5%)             4
115 ast-stats-2 ----------------------------------------------------------------

123 hir-stats Mod                       32 ( 0.4%)             1            32
124 hir-stats ExprField                 40 ( 0.4%)             1            40
125 hir-stats TraitItemRef              56 ( 0.6%)             2            28
+ hir-stats Local                     64 ( 0.7%)             1            64
126 hir-stats GenericArg                64 ( 0.7%)             4            16
127 hir-stats - Type                      16 ( 0.2%)             1
128 hir-stats - Lifetime                  48 ( 0.5%)             3

- hir-stats Local                     64 ( 0.7%)             1            64
130 hir-stats Param                     64 ( 0.7%)             2            32
- hir-stats Body                      72 ( 0.8%)             3            24
- hir-stats InlineAsm                 72 ( 0.8%)             1            72
133 hir-stats ImplItemRef               72 ( 0.8%)             2            36
+ hir-stats InlineAsm                 72 ( 0.8%)             1            72
+ hir-stats Body                      72 ( 0.8%)             3            24
134 hir-stats Arm                       80 ( 0.9%)             2            40
135 hir-stats FieldDef                  96 ( 1.1%)             2            48
136 hir-stats Stmt                      96 ( 1.1%)             3            32

139 hir-stats - Expr                      32 ( 0.4%)             1
140 hir-stats FnDecl                   120 ( 1.3%)             3            40
141 hir-stats Attribute                128 ( 1.4%)             4            32
- hir-stats Variant                  144 ( 1.6%)             2            72
143 hir-stats GenericArgs              144 ( 1.6%)             3            48
- hir-stats GenericBound             192 ( 2.1%)             4            48
- hir-stats - Trait                    192 ( 2.1%)             4
+ hir-stats Variant                  144 ( 1.6%)             2            72
146 hir-stats WherePredicate           192 ( 2.1%)             3            64
147 hir-stats - BoundPredicate           192 ( 2.1%)             3
+ hir-stats GenericBound             192 ( 2.1%)             4            48
+ hir-stats - Trait                    192 ( 2.1%)             4
148 hir-stats Block                    288 ( 3.2%)             6            48
- hir-stats GenericParam             360 ( 4.0%)             5            72
150 hir-stats Pat                      360 ( 4.0%)             5            72
- hir-stats - Wild                      72 ( 0.8%)             1
152 hir-stats - Struct                    72 ( 0.8%)             1
+ hir-stats - Wild                      72 ( 0.8%)             1
153 hir-stats - Binding                  216 ( 2.4%)             3
+ hir-stats GenericParam             360 ( 4.0%)             5            72
154 hir-stats Generics                 560 ( 6.2%)            10            56
155 hir-stats Ty                       720 ( 8.0%)            15            48
- hir-stats - Ptr                       48 ( 0.5%)             1
157 hir-stats - Ref                       48 ( 0.5%)             1
+ hir-stats - Ptr                       48 ( 0.5%)             1
158 hir-stats - Path                     624 ( 7.0%)            13
159 hir-stats Expr                     768 ( 8.6%)            12            64
160 hir-stats - Path                      64 ( 0.7%)             1

- hir-stats - Struct                    64 ( 0.7%)             1
162 hir-stats - Match                     64 ( 0.7%)             1
+ hir-stats - Struct                    64 ( 0.7%)             1
163 hir-stats - InlineAsm                 64 ( 0.7%)             1
164 hir-stats - Lit                      128 ( 1.4%)             2
165 hir-stats - Block                    384 ( 4.3%)             6
166 hir-stats Item                     968 (10.8%)            11            88
166 hir-stats Item                     968 (10.8%)            11            88
- hir-stats - Trait                     88 ( 1.0%)             1
168 hir-stats - Enum                      88 ( 1.0%)             1
+ hir-stats - Trait                     88 ( 1.0%)             1
+ hir-stats - Impl                      88 ( 1.0%)             1
169 hir-stats - ExternCrate               88 ( 1.0%)             1
170 hir-stats - ForeignMod                88 ( 1.0%)             1
- hir-stats - Impl                      88 ( 1.0%)             1
172 hir-stats - Fn                       176 ( 2.0%)             2
173 hir-stats - Use                      352 ( 3.9%)             4
174 hir-stats Path                   1_240 (13.8%)            31            40

The actual stderr differed from the expected stderr.
Actual stderr saved to /checkout/obj/build/x86_64-unknown-linux-gnu/test/ui/stats/hir-stats/hir-stats.stderr
To update references, rerun the tests and pass the `--bless` flag
To update references, rerun the tests and pass the `--bless` flag
To only update this specific test, also pass `--test-args stats/hir-stats.rs`

error: 1 errors occurred comparing output.
status: exit status: 0
command: env -u RUSTC_LOG_COLOR RUSTC_ICE="0" RUST_BACKTRACE="short" "/checkout/obj/build/x86_64-unknown-linux-gnu/stage2/bin/rustc" "/checkout/tests/ui/stats/hir-stats.rs" "-Zthreads=1" "-Zsimulate-remapped-rust-src-base=/rustc/FAKE_PREFIX" "-Ztranslate-remapped-path-to-local-path=no" "-Z" "ignore-directory-in-diagnostics-source-blocks=/cargo" "-Z" "ignore-directory-in-diagnostics-source-blocks=/checkout/vendor" "--sysroot" "/checkout/obj/build/x86_64-unknown-linux-gnu/stage2" "--target=x86_64-unknown-linux-gnu" "--check-cfg" "cfg(FALSE)" "--error-format" "json" "--json" "future-incompat" "-Ccodegen-units=1" "-Zui-testing" "-Zdeduplicate-diagnostics=no" "-Zwrite-long-types-to-disk=no" "-Cstrip=debuginfo" "--emit" "metadata" "-C" "prefer-dynamic" "--out-dir" "/checkout/obj/build/x86_64-unknown-linux-gnu/test/ui/stats/hir-stats" "-A" "unused" "-A" "internal_features" "-Crpath" "-Cdebuginfo=0" "-Lnative=/checkout/obj/build/x86_64-unknown-linux-gnu/native/rust-test-helpers" "-L" "/checkout/obj/build/x86_64-unknown-linux-gnu/test/ui/stats/hir-stats/auxiliary" "-Zhir-stats"
--- stderr -------------------------------
--- stderr -------------------------------
ast-stats-1 PRE EXPANSION AST STATS
ast-stats-1 Name                Accumulated Size         Count     Item Size
ast-stats-1 ----------------------------------------------------------------
ast-stats-1 GenericArgs               40 ( 0.6%)             1            40
ast-stats-1 - AngleBracketed            40 ( 0.6%)             1
ast-stats-1 Crate                     40 ( 0.6%)             1            40
ast-stats-1 ExprField                 48 ( 0.7%)             1            48
ast-stats-1 WherePredicate            56 ( 0.8%)             1            56
ast-stats-1 - BoundPredicate            56 ( 0.8%)             1
ast-stats-1 Attribute                 64 ( 1.0%)             2            32
ast-stats-1 - DocComment                32 ( 0.5%)             1
ast-stats-1 - Normal                    32 ( 0.5%)             1
ast-stats-1 Local                     80 ( 1.2%)             1            80
ast-stats-1 ForeignItem               88 ( 1.3%)             1            88
ast-stats-1 - Fn                        88 ( 1.3%)             1
ast-stats-1 Arm                       96 ( 1.4%)             2            48
ast-stats-1 FnDecl                   120 ( 1.8%)             5            24
ast-stats-1 Param                    160 ( 2.4%)             4            40
ast-stats-1 FieldDef                 160 ( 2.4%)             2            80
ast-stats-1 Stmt                     160 ( 2.4%)             5            32
ast-stats-1 - Let                       32 ( 0.5%)             1
ast-stats-1 - MacCall                   32 ( 0.5%)             1
ast-stats-1 - Expr                      96 ( 1.4%)             3
ast-stats-1 Block                    192 ( 2.9%)             6            32
ast-stats-1 Variant                  208 ( 3.1%)             2           104
ast-stats-1 GenericBound             352 ( 5.3%)             4            88
ast-stats-1 - Trait                    352 ( 5.3%)             4
ast-stats-1 AssocItem                352 ( 5.3%)             4            88
ast-stats-1 - Type                     176 ( 2.7%)             2
ast-stats-1 - Fn                       176 ( 2.7%)             2
ast-stats-1 GenericParam             480 ( 7.2%)             5            96
ast-stats-1 Pat                      504 ( 7.6%)             7            72
ast-stats-1 - Struct                    72 ( 1.1%)             1
ast-stats-1 - Wild                      72 ( 1.1%)             1
ast-stats-1 - Ident                    360 ( 5.4%)             5
ast-stats-1 Expr                     576 ( 8.7%)             8            72
ast-stats-1 - Path                      72 ( 1.1%)             1
ast-stats-1 - Match                     72 ( 1.1%)             1
ast-stats-1 - Struct                    72 ( 1.1%)             1
ast-stats-1 - Lit                      144 ( 2.2%)             2
ast-stats-1 - Block                    216 ( 3.3%)             3
ast-stats-1 PathSegment              744 (11.2%)            31            24
ast-stats-1 Ty                       896 (13.5%)            14            64
ast-stats-1 - Ref                       64 ( 1.0%)             1
ast-stats-1 - Ptr                       64 ( 1.0%)             1
ast-stats-1 - ImplicitSelf             128 ( 1.9%)             2
ast-stats-1 - Path                     640 ( 9.6%)            10
ast-stats-1 Item                   1_224 (18.4%)             9           136
ast-stats-1 - ForeignMod               136 ( 2.0%)             1
ast-stats-1 - Trait                    136 ( 2.0%)             1
ast-stats-1 - Impl                     136 ( 2.0%)             1
ast-stats-1 - Enum                     136 ( 2.0%)             1
ast-stats-1 - Fn                       272 ( 4.1%)             2
ast-stats-1 - Use                      408 ( 6.1%)             3
ast-stats-1 ----------------------------------------------------------------
ast-stats-1 Total                  6_640
ast-stats-1
ast-stats-2 POST EXPANSION AST STATS
ast-stats-2 Name                Accumulated Size         Count     Item Size
ast-stats-2 ----------------------------------------------------------------
ast-stats-2 GenericArgs               40 ( 0.5%)             1            40
ast-stats-2 - AngleBracketed            40 ( 0.5%)             1
ast-stats-2 Crate                     40 ( 0.5%)             1            40
ast-stats-2 ExprField                 48 ( 0.7%)             1            48
ast-stats-2 WherePredicate            56 ( 0.8%)             1            56
ast-stats-2 - BoundPredicate            56 ( 0.8%)             1
ast-stats-2 Local                     80 ( 1.1%)             1            80
ast-stats-2 ForeignItem               88 ( 1.2%)             1            88
ast-stats-2 - Fn                        88 ( 1.2%)             1
ast-stats-2 Arm                       96 ( 1.3%)             2            48
ast-stats-2 InlineAsm                120 ( 1.6%)             1           120
ast-stats-2 FnDecl                   120 ( 1.6%)             5            24
ast-stats-2 Attribute                128 ( 1.8%)             4            32
ast-stats-2 - DocComment                32 ( 0.4%)             1
ast-stats-2 - Normal                    96 ( 1.3%)             3
ast-stats-2 Param                    160 ( 2.2%)             4            40
ast-stats-2 FieldDef                 160 ( 2.2%)             2            80
ast-stats-2 Stmt                     160 ( 2.2%)             5            32
ast-stats-2 - Let                       32 ( 0.4%)             1
ast-stats-2 - Semi                      32 ( 0.4%)             1
ast-stats-2 - Expr                      96 ( 1.3%)             3
ast-stats-2 Block                    192 ( 2.6%)             6            32
ast-stats-2 Variant                  208 ( 2.9%)             2           104
ast-stats-2 GenericBound             352 ( 4.8%)             4            88
ast-stats-2 - Trait                    352 ( 4.8%)             4
ast-stats-2 AssocItem                352 ( 4.8%)             4            88
ast-stats-2 - Type                     176 ( 2.4%)             2
ast-stats-2 - Fn                       176 ( 2.4%)             2
ast-stats-2 GenericParam             480 ( 6.6%)             5            96
ast-stats-2 Pat                      504 ( 6.9%)             7            72
ast-stats-2 - Struct                    72 ( 1.0%)             1
ast-stats-2 - Wild                      72 ( 1.0%)             1
ast-stats-2 - Ident                    360 ( 4.9%)             5
ast-stats-2 Expr                     648 ( 8.9%)             9            72
ast-stats-2 - Path                      72 ( 1.0%)             1
ast-stats-2 - Match                     72 ( 1.0%)             1
ast-stats-2 - Struct                    72 ( 1.0%)             1
ast-stats-2 - InlineAsm                 72 ( 1.0%)             1
ast-stats-2 - Lit                      144 ( 2.0%)             2
ast-stats-2 - Block                    216 ( 3.0%)             3
ast-stats-2 PathSegment              864 (11.9%)            36            24
ast-stats-2 Ty                       896 (12.3%)            14            64
ast-stats-2 - Ref                       64 ( 0.9%)             1
ast-stats-2 - Ptr                       64 ( 0.9%)             1
ast-stats-2 - ImplicitSelf             128 ( 1.8%)             2
ast-stats-2 - Path                     640 ( 8.8%)            10
ast-stats-2 Item                   1_496 (20.5%)            11           136
ast-stats-2 - Enum                     136 ( 1.9%)             1
ast-stats-2 - Trait                    136 ( 1.9%)             1
ast-stats-2 - Impl                     136 ( 1.9%)             1
ast-stats-2 - ExternCrate              136 ( 1.9%)             1
ast-stats-2 - ForeignMod               136 ( 1.9%)             1
ast-stats-2 - Fn                       272 ( 3.7%)             2
ast-stats-2 - Use                      544 ( 7.5%)             4
ast-stats-2 ----------------------------------------------------------------
ast-stats-2 Total                  7_288
hir-stats HIR STATS
hir-stats Name                Accumulated Size         Count     Item Size
hir-stats ----------------------------------------------------------------
hir-stats ----------------------------------------------------------------
hir-stats ForeignItemRef            24 ( 0.3%)             1            24
hir-stats Lifetime                  24 ( 0.3%)             1            24
hir-stats Mod                       32 ( 0.4%)             1            32
hir-stats ExprField                 40 ( 0.4%)             1            40
hir-stats TraitItemRef              56 ( 0.6%)             2            28
hir-stats Local                     64 ( 0.7%)             1            64
hir-stats GenericArg                64 ( 0.7%)             4            16
hir-stats - Type                      16 ( 0.2%)             1
hir-stats - Lifetime                  48 ( 0.5%)             3
hir-stats Param                     64 ( 0.7%)             2            32
hir-stats ImplItemRef               72 ( 0.8%)             2            36
hir-stats InlineAsm                 72 ( 0.8%)             1            72
hir-stats Body                      72 ( 0.8%)             3            24
hir-stats Arm                       80 ( 0.9%)             2            40
hir-stats FieldDef                  96 ( 1.1%)             2            48
hir-stats Stmt                      96 ( 1.1%)             3            32
hir-stats - Let                       32 ( 0.4%)             1
hir-stats - Semi                      32 ( 0.4%)             1
hir-stats - Expr                      32 ( 0.4%)             1
hir-stats FnDecl                   120 ( 1.3%)             3            40
hir-stats Attribute                128 ( 1.4%)             4            32
hir-stats GenericArgs              144 ( 1.6%)             3            48
hir-stats Variant                  144 ( 1.6%)             2            72
hir-stats WherePredicate           192 ( 2.1%)             3            64
hir-stats - BoundPredicate           192 ( 2.1%)             3
hir-stats GenericBound             192 ( 2.1%)             4            48
hir-stats - Trait                    192 ( 2.1%)             4
hir-stats Block                    288 ( 3.2%)             6            48
hir-stats Pat                      360 ( 4.0%)             5            72
hir-stats - Struct                    72 ( 0.8%)             1
hir-stats - Wild                      72 ( 0.8%)             1
hir-stats - Binding                  216 ( 2.4%)             3
hir-stats GenericParam             360 ( 4.0%)             5            72
hir-stats Generics                 560 ( 6.2%)            10            56
hir-stats Ty                       720 ( 8.0%)            15            48
hir-stats - Ref                       48 ( 0.5%)             1
hir-stats - Ptr                       48 ( 0.5%)             1
hir-stats - Path                     624 ( 7.0%)            13
hir-stats Expr                     768 ( 8.6%)            12            64
hir-stats - Path                      64 ( 0.7%)             1
hir-stats - Match                     64 ( 0.7%)             1
hir-stats - Struct                    64 ( 0.7%)             1
hir-stats - InlineAsm                 64 ( 0.7%)             1
hir-stats - Lit                      128 ( 1.4%)             2
hir-stats - Block                    384 ( 4.3%)             6
hir-stats Item                     968 (10.8%)            11            88
hir-stats - Enum                      88 ( 1.0%)             1
hir-stats - Trait                     88 ( 1.0%)             1
hir-stats - Impl                      88 ( 1.0%)             1
hir-stats - ExternCrate               88 ( 1.0%)             1
hir-stats - ForeignMod                88 ( 1.0%)             1
hir-stats - Fn                       176 ( 2.0%)             2
hir-stats - Use                      352 ( 3.9%)             4
hir-stats Path                   1_240 (13.8%)            31            40
hir-stats PathSegment            1_920 (21.4%)            40            48
hir-stats ----------------------------------------------------------------
hir-stats
------------------------------------------


@bors
Copy link
Contributor

bors commented Jul 29, 2024

☀️ Try build successful - checks-actions
Build commit: 235c20a (235c20af7fb8544e3be7d0bb4eddca6015e35282)

@rust-timer

This comment has been minimized.

@rust-timer
Copy link
Collaborator

Finished benchmarking commit (235c20a): comparison URL.

Overall result: ❌✅ regressions and improvements - ACTION NEEDED

Benchmarking this pull request likely means that it is perf-sensitive, so we're automatically marking it as not fit for rolling up. While you can manually mark this PR as fit for rollup, we strongly recommend not doing so since this PR may lead to changes in compiler perf.

Next Steps: If you can justify the regressions found in this try perf run, please indicate this with @rustbot label: +perf-regression-triaged along with sufficient written justification. If you cannot justify the regressions please fix the regressions and do another perf run. If the next run shows neutral or positive results, the label will be automatically removed.

@bors rollup=never
@rustbot label: -S-waiting-on-perf +perf-regression

Instruction count

This is a highly reliable metric that was used to determine the overall result at the top of this comment.

mean range count
Regressions ❌
(primary)
0.2% [0.2%, 0.2%] 1
Regressions ❌
(secondary)
0.6% [0.3%, 2.0%] 5
Improvements ✅
(primary)
-0.3% [-0.6%, -0.2%] 10
Improvements ✅
(secondary)
-0.7% [-1.1%, -0.2%] 14
All ❌✅ (primary) -0.3% [-0.6%, 0.2%] 11

Max RSS (memory usage)

Results (primary -0.9%, secondary 6.5%)

This is a less reliable metric that may be of interest but was not used to determine the overall result at the top of this comment.

mean range count
Regressions ❌
(primary)
- - 0
Regressions ❌
(secondary)
6.5% [6.5%, 6.5%] 1
Improvements ✅
(primary)
-0.9% [-0.9%, -0.9%] 1
Improvements ✅
(secondary)
- - 0
All ❌✅ (primary) -0.9% [-0.9%, -0.9%] 1

Cycles

Results (secondary -2.6%)

This is a less reliable metric that may be of interest but was not used to determine the overall result at the top of this comment.

mean range count
Regressions ❌
(primary)
- - 0
Regressions ❌
(secondary)
2.5% [2.5%, 2.5%] 1
Improvements ✅
(primary)
- - 0
Improvements ✅
(secondary)
-2.9% [-3.9%, -1.9%] 14
All ❌✅ (primary) - - 0

Binary size

Results (secondary 0.0%)

This is a less reliable metric that may be of interest but was not used to determine the overall result at the top of this comment.

mean range count
Regressions ❌
(primary)
- - 0
Regressions ❌
(secondary)
0.0% [0.0%, 0.0%] 6
Improvements ✅
(primary)
- - 0
Improvements ✅
(secondary)
- - 0
All ❌✅ (primary) - - 0

Bootstrap: 767.825s -> 769.994s (0.28%)
Artifact size: 331.40 MiB -> 331.37 MiB (-0.01%)

@rustbot rustbot added perf-regression Performance regression. and removed S-waiting-on-perf Status: Waiting on a perf run to be completed. labels Jul 29, 2024
@goffrie
Copy link
Contributor

goffrie commented Sep 1, 2024

superseded by #129533?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
A-rustdoc-json Area: Rustdoc JSON backend perf-regression Performance regression. S-waiting-on-review Status: Awaiting review from the assignee but also interested parties. T-compiler Relevant to the compiler team, which will review and decide on the PR/issue. T-rustdoc Relevant to the rustdoc team, which will review and decide on the PR/issue.
Projects
None yet
Development

Successfully merging this pull request may close these issues.

6 participants