Skip to content

Add cargo-0.60.0 as a new benchmark. #1209

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

Merged
merged 1 commit into from
Mar 17, 2022

Conversation

nnethercote
Copy link
Contributor

I obtained the code with:

target/release/collector download -c primary crate cargo 0.60.0

cargo-0.60.0/perf-config.json and cargo-0.60.0/0-println.patch are
based on the corresponding files in cargo/.

cargo-0.60.0 is quite a bit slower to compile than cargo. Times for
full builds of the final crate on my machine:

		cargo   cargo-0.60.0
cargo check 	4.26    6.92
cargo debug 	10.13   19.72
cargo opt 	17.59   35.67

And to run the entire benchmark (including compiling all crates):

cargo:        Check  real 18.46 user  84.04 sys 18.01
cargo-0.60.0: Check  real 18.16 user 100.21 sys 13.45
cargo:        Debug  real 25.98 user 163.99 sys 21.99
cargo-0.60.0: Debug  real 32.92 user 205.82 sys 18.37
cargo:        Opt    real 38.28 user 450.19 sys 20.37
cargo-0.60.0: Opt    real 55.54 user 585.34 sys 19.06

cargo will be removed soon.

Copy link
Member

@Mark-Simulacrum Mark-Simulacrum left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This looks good to me (I didn't try to confirm this exactly reproduces Cargo, but seems OK -- we may, I suppose, want to move to some kind of crates.io download + set of patches system to avoid inlining a bunch of raw files, but that has its own annoyances).

It looks like it needs a rebase and I'd like to hold off on merging until we make sure that we have some spare time in our builder (after the style-servo removal I just merged).

I obtained the code with:
```
target/release/collector download -c primary crate cargo 0.60.0
```

`cargo-0.60.0/perf-config.json` and `cargo-0.60.0/0-println.patch` are
based on the corresponding files in `cargo/`.

`cargo-0.60.0` is quite a bit slower to compile than `cargo`. Times for
`full` builds of the final crate on my machine:
```
		cargo   cargo-0.60.0
cargo check 	4.26    6.92
cargo debug 	10.13   19.72
cargo opt 	17.59   35.67
```
And to run the entire benchmark (including compiling all crates):
```
cargo:        Check  real 18.46 user  84.04 sys 18.01
cargo-0.60.0: Check  real 18.16 user 100.21 sys 13.45
cargo:        Debug  real 25.98 user 163.99 sys 21.99
cargo-0.60.0: Debug  real 32.92 user 205.82 sys 18.37
cargo:        Opt    real 38.28 user 450.19 sys 20.37
cargo-0.60.0: Opt    real 55.54 user 585.34 sys 19.06
```

`cargo` will be removed soon.
@nnethercote
Copy link
Contributor Author

I have rebased.

@rylev
Copy link
Member

rylev commented Mar 17, 2022

Going to merge since I think the builder has had time to recover.

@rylev rylev merged commit f50761e into rust-lang:master Mar 17, 2022
@nnethercote nnethercote deleted the add-new-cargo branch March 17, 2022 20:24
nnethercote added a commit to nnethercote/rustc-perf that referenced this pull request Mar 17, 2022
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants