For a clean build: number of cores (because cargo builds each crate dependency in a separate process), for a build of your crate only: single core perf.
Until the parallel compiler feature (-Z threads=<n>) stabilizes and becomes more complete.
It’s also always worth mentioning that the choice of linker is important. Using mold or lld can significantly speed things up in some use-cases.
Beyond that, codegen-units and lto profile options are also important.
And finally, for development purposes, the code generator is important, as cranelift provides much faster compile times, but resulting binaries are not as optimized as LLVM-generated ones.
For a clean build: number of cores (because cargo builds each crate dependency in a separate process), for a build of your crate only: single core perf.
Until the parallel compiler feature (
-Z threads=<n>
) stabilizes and becomes more complete.It’s also always worth mentioning that the choice of linker is important. Using mold or lld can significantly speed things up in some use-cases.
Beyond that,
codegen-units
andlto
profile options are also important.And finally, for development purposes, the code generator is important, as
cranelift
provides much faster compile times, but resulting binaries are not as optimized as LLVM-generated ones.