# Evaluating pipelined rustc compilation

**URL:** <https://internals.rust-lang.org/t/evaluating-pipelined-rustc-compilation/10199>\
**Category:** compiler\
**Created:** [May 17, 2019, 4:09pm UTC](https://internals.rust-lang.org/t/evaluating-pipelined-rustc-compilation/10199 "2019-05-17T16:09:29Z")\
**Posts on this page:** 1\
**Showing post:** 2

<div class="post-metadata">

**Author:** ![alexcrichton](https://sea2.discourse-cdn.com/flex002/user_avatar/internals.rust-lang.org/alexcrichton/32/4501_2.png) [@alexcrichton](https://internals.rust-lang.org/u/alexcrichton)\
**Post date:** [May 17, 2019, 4:17pm UTC](https://internals.rust-lang.org/t/evaluating-pipelined-rustc-compilation/10199/2 "2019-05-17T16:17:37Z")

</div>

I’ve just tested this out with the [wasmtime repository](https://github.com/cranestation/wasmtime) (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!)

---

_[View the full topic](https://internals.rust-lang.org/t/evaluating-pipelined-rustc-compilation/10199)._
