generated from andy/linux-nixos-hyprland-config-dotfiles
Initial commit
This commit is contained in:
33
home/projects/optimized-pre-config-rust/Cargo.toml
Normal file
33
home/projects/optimized-pre-config-rust/Cargo.toml
Normal file
@@ -0,0 +1,33 @@
|
||||
### Cargo code snippets for different optimizations
|
||||
|
||||
## Dev build compilation speed optimization (more https://benw.is/posts/how-i-improved-my-rust-compile-times-by-seventy-five-percent)
|
||||
# Work only with the nightly version of Rust by the time it was written; it is recommended NOT to use it in production for now
|
||||
cargo-features = [ "codegen-backend", "profile-rustflags" ]
|
||||
# Important: It provides less useful error messages during compilation
|
||||
[profile.dev]
|
||||
opt-level = 1
|
||||
codegen-backend = "cranelift"
|
||||
rustflags = [
|
||||
"-Z", "threads=8", # Enable parallel frontend compiling
|
||||
"-C", "linker=clang", # Use clang as the linker
|
||||
"-C", "link-arg=-fuse-ld=mold", # Use mold as the linker backend
|
||||
"-C", "link-arg=-static",
|
||||
]
|
||||
[profile.dev.package."*"]
|
||||
opt-level = 3
|
||||
codegen-backend = "cranelift"
|
||||
|
||||
[profile.dev.build-override]
|
||||
rustflags = [ "-Z", "threads=8", "-C", "link-arg=-fuse-ld=/run/current-system/sw/bin/mold" ] # `/run/current-system/sw/bin/mold` is an absolute path to the mold executable
|
||||
|
||||
## Release build size optimization (more https://github.com/johnthagen/min-sized-rust)
|
||||
# You can also use programs such as `upx` for size optimization
|
||||
[profile.release]
|
||||
strip = true
|
||||
opt-level = "z" # You can try 's' instead of 'z' if you want to optimize for speed
|
||||
lto = true
|
||||
codegen-units = 1
|
||||
panic = "abort" # DELETE extra unwinding code that provides helpful backtrace information for runtime errors
|
||||
|
||||
[profile.release.build-override]
|
||||
rustflags = [ "-Z", "location-detail=none" ] # DELETE a useful traceback information such as file, line, and column information for panic!() and [track_caller]
|
Reference in New Issue
Block a user