$ cargo --version
cargo 0.24.0-nightly (859c2305b 2017-10-29)
$ rustc --version
rustc 1.23.0-nightly (2be4cc040 2017-11-01)
bindgen
Fresh release build
$ rm -rf target/
$ time cargo +nightly build --release
<snip>
Finished release [optimized] target(s) in 168.22 secs
real 2m48.579s
user 4m33.232s
sys 0m3.316s
Fresh incremental+release build
$ rm -rf target/
$ CARGO_INCREMENTAL=1 time cargo +nightly build --release
<snip>
Finished release [optimized] target(s) in 44.76 secs
real 0m45.112s
user 4m41.256s
sys 0m3.988s
touch src/lib.rs
and incremental rebuild
$ touch src/lib.rs
$ time cargo +nightly build --release
Compiling bindgen v0.31.3 (file:///home/fitzgen/rust-bindgen)
Finished release [optimized] target(s) in 8.29 secs
real 0m8.639s
user 0m8.220s
sys 0m0.504s
Add a public no-op method and incremental rebuild
$ time cargo +nightly build --release
Compiling bindgen v0.31.3 (file:///home/fitzgen/rust-bindgen)
Finished release [optimized] target(s) in 9.47 secs
real 0m9.820s
user 0m11.708s
sys 0m0.564s
Really impressed and surprised that fresh incremental builds are so much faster than fresh non-incremental builds!