Good news: it's super easy to add LTO to Rust projects, and only added 60 seconds to difftastic's link time:
[profile.release]
lto = true
Bad news: It only reduces the difftastic runtime by ~5%.
At least it didn't require much wrangling to try :)
miniblog.
Related Posts
Difftastic 0.71 is out! This is a polish release, still well worth upgrading:
* A ton of performance improvements, especially for nasty corner cases.
* Improved C++, Dockerfile, Haskell, JavaScript, Makefile, Perl, Ruby, Rust, Scala and TypeScript.
I've released difftastic 0.70! In this release:
* Added Dockerfile and fish shell support
* Improved Dart, Emacs Lisp, Erlang, Java, OCaml, PHP,
Protocol Buffers and TOML.
* A bunch of display and performance fixes.
I carefully document `cargo install --locked` for difftastic users, I carefully use `--locked` for CI, and I've just realised that all my release builds totally ignore it! Oops.
Anyone using my prebuilt binaries have been getting different Unicode width calculations in display.