about summary refs log tree commit diff
path: root/compiler/rustc_codegen_llvm/src
diff options
context:
space:
mode:
authorDylan DPC <99973273+Dylan-DPC@users.noreply.github.com>2022-10-30 11:50:27 +0530
committerGitHub <noreply@github.com>2022-10-30 11:50:27 +0530
commit176a89f4969904bccb280e6b36fdd6eb878a88f2 (patch)
tree984c8ac38b67860ee8912bcaac02eb6aa56791db /compiler/rustc_codegen_llvm/src
parent8564ee89001629aecd544814a2e549614996f603 (diff)
parent17b86cb6116ab25d5fdd9ec406738ad0720c702c (diff)
downloadrust-176a89f4969904bccb280e6b36fdd6eb878a88f2.tar.gz
rust-176a89f4969904bccb280e6b36fdd6eb878a88f2.zip
Rollup merge of #103689 - saethlin:libtest-startup, r=thomcc
Do fewer passes and generally be more efficient when filtering tests

Follow-on of the work I started with this PR: https://github.com/rust-lang/rust/pull/99939

Basically, the startup code for libtest is really inefficient, but that's not usually a problem because it is distributed in release and workloads are small. But under Miri which can be 100x slower than a debug build, these inefficiencies explode.

Most of the diff here is making test filtering single-pass. There are a few other small optimizations as well, but they are more straightforward.

With this PR, the startup time of the `iced` tests with `--features=code_asm,mvex` drops from 17 to 2 minutes (I think Miri has gotten slower under this workload since #99939). The easiest way to try this out is to set `MIRI_LIB_SRC` to a checkout of this branch when running `cargo +nightly miri test --features=code_asm,mvex`.

r? `@thomcc`
Diffstat (limited to 'compiler/rustc_codegen_llvm/src')
0 files changed, 0 insertions, 0 deletions