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:
2026-05-05 13:28:18 -06:00
parent f01089e9d0
commit 060841d011
+7
View File
@@ -31,3 +31,10 @@ proptest = "1"
[[bench]]
name = "hot_paths"
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