I'm creating a Rust compilation leaderboard to evaluate laptops for use as development workstations.
What matters most is the incremental build time - the time it takes to recompile after small code changes during active development.
Almost on every project (especially if a web server) I use cargo watch -x run
and when I change even just one file the project is recompiled (in debug mode) and I wait seconds and seconds to verify the changes.
Here's what I'd like advice on:
-
What specific steps can I ask people to take to measure these times accurately? Is a debug build sufficient to gauge incremental build performance?
-
Which open-source Rust project would be ideal for testing? It should include generics, traits, and multiple crates and another project not overly complex.
-
Are there benchmarking tools (e.g., Geekbench) that measure what I'm looking for, or do I need a custom solution? (I don't know if Geekbench is true and good for the data I'm looking for.)
-
Should I focus on single-core or multi-core speeds to compare CPUs? This is useful to understand for example whether to buy a basic Apple Silicon or spend more for an advanced CPU (Pro, Max, Ultra) (which only has a greater number of cores, I think)
-
Is there a specific script that can automate these tests from the terminal?
Any advice on accurate measurement methods and useful benchmarking practices for Rust's incremental compilation would be appreciated.