~/talk

Let's talk about Link-Time Optimization (LTO)

Talkat Rustikon 2026 · 2026-03-19..03-20· [compilers-and-language-design]
links:none on file
slides:none on file

Practical findings: enabling LTO is one line in Cargo.toml; fat LTO gives noticeably smaller binaries compared to thin LTO but raises build time and memory (seen 17–30+ GB), while thin LTO is multi‑threaded and often faster. Combining LTO with codegen-units = 1 yields the biggest size and sometimes build‑time wins (one case 3 → 2 minutes). Cross‑language/linker LTO is fragile—LLVM versions and C/C++ undefined behavior commonly break it—so prefer LTO for Rust‑only code and benchmark per project.

AI-written summary · about

  1. 0:00Link-Time Optimization intro
  2. 1:08LTO in Rust projects
  3. 3:34Compiler context with LTO
  4. 4:18Types of LTO in Rust
  5. 7:12Binary size with LTO
  6. 8:55Runtime performance impact
  7. 10:38Build time trade-offs
  8. 12:25Identical code folding limitations
  9. 13:08AI tools misunderstand LTO
  10. 15:18LTO and codegen units
  11. 16:43Cargo release defaults
  12. 17:49Dev vs production builds
  13. 18:55External optimization guidelines
  14. 20:16LTO in project templates
  15. 21:24Safety of LTO in Rust
  16. 22:51Cross-language LTO challenges
  17. 24:37LLVM compatibility issues
  18. 25:40Dev profile misconfigurations
  19. 26:21Thin vs fat LTO
  20. 27:47LTO and cryptography
  21. 28:07Enabling LTO guide
  22. 29:12Rust should adopt LTO
~/search
type to search 6,249 conferences, 138,987 speakers and 185,172 talks
~/help
cmdctrl k
search every conference, speaker and series
/
focus the filter search
h
home
c
conferences
s
speakers
e
series
t
light / dark — the status bar button does the same
?
this help
esc
close this, then clear every filter — or just the search, while you are typing in it

Ignored while you are typing. Pages without a filter rail have no search to focus.