You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
Align distribution LTO and binary-size policy with shipped artifacts #796
Follow-up to #772. The size gate builds --release (full LTO), but profile.dist overrides it with thin LTO. On v3 baseline 3d19abbce5dd8d5244641ff0d7ba8bad5424d07f, Rust 1.99.1 and the audit lock, the same CLI is:
release/full LTO: 1,263,592 bytes
dist/thin LTO: 1,502,888 bytes
Using the existing full-LTO settings for distribution is a measured 239,296-byte (15.9%) reduction opportunity. It does not create that much gate headroom: the gate already measures full LTO and has just 24 bytes free against its current 1,263,616-byte cap.
Deliver a focused profile/workflow change that makes the size policy's relationship to shipped artifacts explicit. Evaluate full LTO for dist across the release target matrix, measure build time and representative runtime on the bench, and verify cargo-dist packaging. If a target needs thin LTO, document and measure that choice rather than implying the release gate checks it.
Preserve API, format, MSRV, portability, size cap and coverage floors. Do not claim the historical 1,259,520-byte cap or another compiler's output is this baseline. Source-level reduction follow-ups remain necessary even if dist changes.
Audit runtime evidence: eight socket-swapped pairs on the idle bench, each process ingesting 2,000 facts then executing 400 checked counts, favored full LTO in all pairs (median elapsed time -9.09%). This bounded workload includes startup/ingestion/printing and does not replace the broader cross-platform gates above.
Activity
docs: Windows static-CRT evidence and measured revision for #796
Merge pull request #801 from project-minigraf/perf/796-dist-lto
adityamukho commentedon Oct 30, 2026
Done in #801 (merged on v3):
distkeeps release's full LTO andbinary-size.ymlmeasures--profile dist. Measurements: docs/benchmarks/796-dist-lto.md.