Info
This post is auto-generated from RSS feed The Rust Programming Language Forum - Latest topics. Source: Should the order of cargo clippy and cargo t with different features and toolchains affect total time
I want to run cargo clippy
and cargo t
for different combinations of features using both stable and some older version of cargo
. Assuming Cargo.lock
nor target/
exist and both toolchains are already installed, should the order of how I do this affect the overall time? If I had to guess, the following is the list of contributing factors in descending order:
For example, the following sequence is the optimal sequence in terms of minimizing the total amount of time for the whole sequence to complete:
cargo +<toolchain_1> <cmd_1> --no-default-features --features <features_1>
cargo +<toolchain_1> <cmd_2> --no-default-features --features <features_1>
cargo +<toolchain_1> <cmd_1> --no-default-features --features <features_2>
cargo +<toolchain_1> <cmd_2> --no-default-features --features <features_2>
cargo +<toolchain_2> <cmd_1> --no-default-features --features <features_1>
cargo +<toolchain_2> <cmd_2> --no-default-features --features <features_1>
cargo +<toolchain_2> <cmd_1> --no-default-features --features <features_2>
cargo +<toolchain_2> <cmd_2> --no-default-features --features <features_2>
where toolchain_1
and toolchain_2
are toolchains with one of them being the stable toolchain and the other an older version, cmd_1
and cmd_2
are commands with one being clippy
and the other being t
, and features_1
and features_2
are different sequences (of possibly different lengths) of features where one doesn't imply the other.
Is my guess right? Does it matter what toolchain_1
and toolchain_2
are (i.e., replacing one with stable
and the other with <older_version>
should have different performance than if they were swapped)? Does it matter what cmd_1
and cmd_2
are (i.e., replacing one with clippy
and the other with t
should have different performance than if they were swapped)? Does it matter what features_1
and features_2
are (e.g., it's better to use fewer features sooner)?
I'm trying to optimize my CI flow on a single device and am curious if the order in which I do this matters (e.g., if cargo
replaces certain caches when a different toolchain is used behooving one to focus on using one toolchain before using a different one in order to re-use the cache).
5 posts - 2 participants
🏷️ Rust_feed