For completion here is the compilation time for a small project from the axum/examples[0] (125 LoC), also comparing nightly dev vs adding cranelift + mold:
$ time cargo build
Compiling example-todos v0.1.0 (/home/user/ws/rust/example-todos)
Finished `dev` profile [unoptimized + debuginfo] target(s) in 1.65s
cargo build 1.49s user 0.58s system 123% cpu 1.685 total
Compiling example-todos v0.1.0 (/home/user/ws/rust/example-todos)
Finished `dev` profile [unoptimized + debuginfo] target(s) in 0.55s
cargo build 0.47s user 0.13s system 102% cpu 0.590 total
[0] https://github.com/tokio-rs/axum/tree/main/examples/todos
Re:Cranelift code generation comes to Rust
by kapilsinha on Monday March 18, 2024 @03:09PM
(#39748598)
This is most definitely self-promotion (I am the author), but also extremely relevant if you are looking at incremental build speed-ups: https://news.ycombinator.com/item?id=39743431
Here are my build times when making a trivial change to a print-statment in a root function, comparing nightly dev vs adding cranelift + mold for rust-analyzer[0] (347_290 LoC) and gleam[1] (76_335 LoC):
For me this is the most important metric and it shows a huge improvement. If I compare it to Go building Terraform[2] (371_594 LoC) it is looking promising. This is a bit unfair since it is the release build for Go and this is really nice in the CI/CD. Love Go compilation times and I thought it would be nice to compare with another language to show the huge improvements that Rust has made. I was looking forward to parallel front-end[3], but I have not seen any improvement for these small changes.[0] https://github.com/rust-lang/rust-analyzer
[1] https://github.com/gleam-lang/gleam
[2] https://github.com/hashicorp/terraform
[3] https://blog.rust-lang.org/2023/11/09/parallel-rustc.html
*edit: code-comments & links + making it easier to see the differences