NLL Performance for up-to-date versions of the perf.rlo crates

Showing the time it took to cargo check each of the crates individually — simulating a non-incremental cargo check, after a touch of lib.rs or main.rs.
Each build was done 3 times and the time reported below is the average of the 3. The machine used is a dual-threaded quad-core so cargo might sometimes build more than one crate at a time.

The crate versions are generally the latest released on crates.io, and sometimes master.

These timings were done on the latest nightly: 6a1c0637c 2018-07-23.
A callgrind profile is sometimes available, linked in the column (and is probably more anecdotical evidence than our regular perf runs, but still informative). They were gathered on a local build of commit baba5007bf... from 2018-07-24.

Exceptions:

  • encoding: has not seen a lot of activity since it was added to rustc-perf, and it compiles as fast with or without NLLs.
  • futures: compiles as fast with or without NLLs in under 0.8s.
  • script-servo: requires x11 which I don't have on this machine.
  • tokio-webpush-simple: compiles as fast with or without NLLs under 0.5s.

Notes:

  • cargo: the lib profile was timed
  • ripgrep: the lib profile was timed

Timings using the master version of each crate

crate version cargo check NLL cargo check ratio
cargo master – 0.30.0 4e53ce 7.60s 8.87s 1.16
clap-rs latest – 2.32.0 2.45s 2.87s 1.17
html5ever latest – 0.22.3 1.28s 1.46s 1.14
hyper latest – 0.12.7 2.05s 2.20s 1.07
inflate latest – 0.4.3 0.44s 0.5s 1.13
piston-image latest – 0.19.0 2.56s 2.65s 1.03
ripgrep master – 0.8.1 d857ad 1.18s 1.26s 1.06
sentry-cli latest – 1.34.0 4.01s 4.52s 1.12
serde master – 1.0.70 4e54aa 5.09s 5.7s 1.04
syn latest – 0.14.5 1.67s 1.87s 1.11
webrender master – 0.57.2 cf9b7803 3.78s 4.25s 1.12

Results for perf.rlo versions

These are the timing results using the versions of the crates that appear on perf.rust-lang.org. These tend to be older versions where we encountered particular performance headaches before.

crate version cargo check NLL cargo check ratio
cargo perf.rlo – 0.29.0 69d61e 7.53s 8.70s 1.15
clap-rs perf.rlo – 2.29.0 3.88s 5.91s 1.52
html5ever perf.rlo – 0.5.4 1.87s 63s oh god
hyper perf.rlo – 0.5.0 1.38s 1.66s 1.20
inflate perf.rlo – 0.1.0 1.73s 2.4s 1.38
piston-image perf.rlo – 0.10.3 2.07s 2.2s 1.06
ripgrep perf.rlo – 0.8.1 a383d5 1.13s 1.25s 1.10
sentry-cli perf.rlo – 1.21.0 2.76s 3.15s 1.14
serde perf.rlo – 1.0.37 6e206c 4.87s 5.47s 1.12
syn perf.rlo – 0.11.11 1.00s 1.11s 1.11
webrender perf.rlo – 0.57.2 bb354ab 3.95s 4.25s 1.07
Select a repo