feat: better release mode

This commit is contained in:
graelo 2022-06-01 08:48:58 +02:00
parent 4ad2adcc16
commit 169636b46b
2 changed files with 25 additions and 0 deletions

View file

@ -25,3 +25,26 @@ path = "src/bin/copyrat.rs"
[[bin]]
name = "tmux-copyrat"
path = "src/bin/tmux_copyrat.rs"
[profile.release]
# Enable link-time optimization (LTO). Its a kind of whole-program or
# inter-module optimization as it runs as the very last step when linking the
# different parts of your binary together. You can think of it as allowing
# better inlining across dependency boundaries (but its of course more
# complicated that that).
#
# Rust can use multiple linker flavors, and the one we want is “optimize across
# all crates”, which is called “fat”. To set this, add the lto flag to your
# profile:
lto = "fat"
# To speed up compile times, Rust tries to split your crates into small chunks
# and compile as many in parallel as possible. The downside is that theres
# less opportunities for the compiler to optimize code across these chunks. So,
# lets tell it to do one chunk per crate:
codegen-units = 1
# Rust by default uses stack unwinding (on the most common platforms). That
# costs performance, so lets skip stack traces and the ability to catch panics
# for reduced code size and better cache usage:
panic = "abort"

2
Makefile Normal file
View file

@ -0,0 +1,2 @@
release:
RUSTFLAGS="-Ctarget-cpu=native" cargo build --release