Repository navigation
Rollup of 21 pull requests - #165375
Rollup of 21 pull requests#165375
Conversation
Doubles the throughput on both Ice Lake and Zen4.
Improves latency on Ice Lake from 23 to 13 cycles, on Zen4 from 17 to 15 cycles.
Improves encoding performance of a toy base64 implementation on Zen4 by -20% (time) +25% (throughput), no change on decoding benchmark
Optimize swizzle_dyn on AVX-512 VBMI
…mals cleanup `FlushSubnormals` implementation
Installing cargo tools (`cargo install`) without locked dependencies exposes users to supply-chain attacks to all the dependencies of the tool (https://blog.rust-lang.org/2026/08/20/supply-chain-attack-on-arrayref/). Using `cargo install --locked` reduces this risk to a compromise of the tool itself, while using the locked and hashed version of the dependencies. I went through all `rg "cargo install"` hits in the repository and added `--locked` to all but explanatory examples (such as cargo's docs on `cargo install` itself). I validated that those tools publish functioning `Cargo.lock`s with https://gist.github.com/konstin/bcb1169c1c1120c259dca64e777a64d0.
…l-locked Install cargo tools with locked dependencies
Use a more optimal formulation of swizzle_dyn for AVX2
Switch the default branch to main
so that values are read from the correct half of the slot. Specifically `i32` was read incorrectly
…the method, and added benchmark cases + tests for retain_unstable
…etain_unstable to drop elements that were evaluated as false by the predicate in the reverse search (batch dropping is slower) + PanicGuard now just performs a swap with the last element and the hole (so long as Swap index != Hole index) which is more efficient than doing a shift, added some benchmark cases to see where retain_unstable would perform better than retain
…hen g.read_back == g.write and mem::forget the PanicGuard, removed len field in PanicGuard (fulfilled by read_back field), and updated implementation comments as a result
… use copy_nonoverlapping instead of copy in PanicGuard::drop, added a few more benchmarking cases, and slightly refactored code
See: https://github.com/actions/checkout/releases/tag/v4.4.0 This is the same version we're already implicitly using. Signed-off-by: hashcatHitman <155700084+hashcatHitman@users.noreply.github.com>
See: https://github.com/peaceiris/actions-gh-pages/releases/tag/v3.9.3 This is the same version we're already implicitly using. Signed-off-by: hashcatHitman <155700084+hashcatHitman@users.noreply.github.com>
See: https://github.com/taiki-e/install-action/releases/tag/v2.87.31 This is the same version we're already implicitly using. This does not pin `cargo-nextest`, that would have to be done separately. Signed-off-by: hashcatHitman <155700084+hashcatHitman@users.noreply.github.com>
Signed-off-by: hashcatHitman <155700084+hashcatHitman@users.noreply.github.com>
Signed-off-by: hashcatHitman <155700084+hashcatHitman@users.noreply.github.com>
Signed-off-by: hashcatHitman <155700084+hashcatHitman@users.noreply.github.com>
Signed-off-by: hashcatHitman <155700084+hashcatHitman@users.noreply.github.com>
Signed-off-by: hashcatHitman <155700084+hashcatHitman@users.noreply.github.com>
Did you know `bash` is available by default on `windows-latest` too? It makes it much easier to write cross-platform workflows if you just use `bash` everywhere. Signed-off-by: hashcatHitman <155700084+hashcatHitman@users.noreply.github.com>
Signed-off-by: hashcatHitman <155700084+hashcatHitman@users.noreply.github.com>
…llvm remove LLVM workaround
This comment has been minimized.
This comment has been minimized.
Rollup of 21 pull requests try-job: dist-various-1 try-job: test-various try-job: test-x86_64-gnu-aux try-job: test-x86_64-msvc-1 try-job: test-aarch64-apple-1 try-job: test-aarch64-apple-2 try-job: test-x86_64-mingw-1 try-job: test-i686-msvc try-job: test-armhf-gnu try-job: test-x86_64-gnu-llvm-22-3 try-job: test-aarch64-msvc-2
This comment has been minimized.
This comment has been minimized.
What is this?This is an experimental post-merge analysis report that shows differences in test outcomes between the merged PR and its parent PR.Comparing 1c3a650 (parent) -> 6a98084 (this PR) Test differencesShow 849 test diffsStage 1
Stage 2
(and 163 additional test diffs) Additionally, 586 doctest diffs were found. These are ignored, as they are noisy. Job group index
Test dashboardRun cargo run --manifest-path src/ci/citool/Cargo.toml -- \
test-dashboard 6a98084e4a21b04504c034dfc640e35e32ab9854 --output-dir test-dashboardAnd then open Job duration changes
How to interpret the job duration changes?Job durations can vary a lot, based on the actual runner instance |
|
Finished benchmarking commit (6a98084): comparison URL. Overall result: ❌✅ regressions and improvements - please read:Our benchmarks found a performance regression caused by this PR. Next Steps:
@rustbot label: +perf-regression Instruction countOur most reliable metric. Used to determine the overall result above. However, even this metric can be noisy.
Max RSS (memory usage)Results (primary -1.6%, secondary 1.4%)A less reliable metric. May be of interest, but not used to determine the overall result above.
CyclesResults (primary -2.1%, secondary 5.0%)A less reliable metric. May be of interest, but not used to determine the overall result above.
Binary sizeThis perf run didn't have relevant results for this metric. Bootstrap: 483.238s -> 482.475s (-0.16%) |
|
📌 Perf builds for each rolled up PR:
parent commit: 1c3a650696 In the case of a perf regression, run the following command with the SHAs of each PR you suspect might be the cause: |
|
@rustbot label: +perf-regression-triaged |
|
The massive doc&doc-json improvements (significance factors: 94.99x, 70.91x, 50.51x & 50.34x) and the slight regression in one doc-json benchmark come from PR #162916 which has been perf triaged already. The |
Successful merges:
ItemKind#162916 (rustdoc: ImproveItemKind)Vec::retain_unstableACP #164155 (ImplementVec::retain_unstableACP)fmt_typecleanups #157584 (Misc.fmt_typecleanups).. was equal to .. during selection but now it is not#142717)aarch64_be#163333 (va_arg: force right-adjust onaarch64_be)cfg_versionindoc_cfg#163399 (Supportcfg_versionindoc_cfg)Duration::display_seconds#165181 (ImplementDuration::display_seconds)r? @ghost
Create a similar rollup