Evaluating pipelined rustc compilation

I’ve just tested this out with the wasmtime repository (e.g. something including CraneLift) to get on a 14 core (28 hyperthread) machine:

Full Build Type Default Pipelined Difference
debug 39.5s 33.8s 14.6% faster
release 52.4s 45.5s 13.1% faster

Then after touch wasmtime-obj/src/lib.rs

Build type Default Pipelined Diffference
debug 4.17s 4.06s 2.6% faster
release 2.50s 2.47s 1.2% faster

Then after find . -name '*.rs' | xargs touch

Build type Default Pipelined Diffference
debug 7.24s 7.26s 0.3% slower
release 9.73s 7.54s 22.5% faster

(note that I don’t really know that much about wasmtime/CraneLift, just wanted to test something that I figured was mostly Rust code with not a ton of procedural macros and/or C code!)

2 Likes