build(release): enable thin LTO + codegen-units=1 in release profile
Cuts ~150 ms (-2.5 %) off the compare harness via better cross-crate inlining of small Pareto/HV helpers. Costs ~20 s extra on a from- scratch `cargo build --release`, but is essentially free on incremental rebuilds. Only applies when this crate is the workspace root (i.e. when developing heuropt or running its own examples). Downstream users who consume heuropt as a dependency see whatever profile their own Cargo.toml configures.
This commit is contained in:
@@ -31,3 +31,10 @@ proptest = "1"
|
|||||||
[[bench]]
|
[[bench]]
|
||||||
name = "hot_paths"
|
name = "hot_paths"
|
||||||
harness = false
|
harness = false
|
||||||
|
|
||||||
|
# Tighten release codegen for the compare harness and downstream binaries
|
||||||
|
# that build heuropt directly (i.e. when this crate is the workspace root).
|
||||||
|
# When heuropt is used as a dependency the consumer's profile wins.
|
||||||
|
[profile.release]
|
||||||
|
lto = "thin"
|
||||||
|
codegen-units = 1
|
||||||
|
|||||||
Reference in New Issue
Block a user