Skip to content

boulder: Enable cached incremental LTO support for GNU & LLVM toolchains - #870

Open
joebonrichie wants to merge 1 commit into
mainfrom
boulder-ltocache
Open

boulder: Enable cached incremental LTO support for GNU & LLVM toolchains#870
joebonrichie wants to merge 1 commit into
mainfrom
boulder-ltocache

Conversation

@joebonrichie

@joebonrichie joebonrichie commented Sep 1, 2026

Copy link
Copy Markdown
Contributor

Cache LTO artefacts by default when ccache is enabled. Note that LLVM's fat LTO is not supported. This can compliment ccache/sccache.

Benchmarks

(sccache enabled):
starship (rust, thin-lto):
no LTO cache, no sccache : 2m37.31s
LTO uncached, sccache disabled : 2m36.88s
LTO cached, sccache disabled : 1m58.47s
LTO cached, sccache uncached : 2m11.85s
LTO cached, sccache cached: : 12.70s
no LTO cache, sccache uncached : 3m03.27s
no LTO cache, sscache cached : 1m02.44s

(ccache disabled):
zlib-ng (llvm, thin-lto):
Uncached (warm first run) : 3.21s
Cached (second run) : 2.51s

emacs (gcc, lto):
Uncached (warm first run) : 4m04.47s
Cached (second run) : 3m45.09s

@joebonrichie
joebonrichie marked this pull request as ready for review September 1, 2026 19:47
Cache LTO artefacts by default when ccache is enabled. Note that LLVM's
fat LTO is not supported. This can compliment ccache/sccache.

Benchmarks (ccache disabled):

zlib-ng (llvm, thin-lto):
Uncached (warm first run) : 3.21s
Cached (second run)       : 2.51s

emacs (gcc, lto):
Uncached (warm first run) : 4m04.47s
Cached (second run)       : 3m45.09s

starship (rust, thin-lto):
no LTO cache, no sccache       : 2m37.31s
LTO uncached, sccache disabled : 2m36.88s
LTO cached, sccache disabled   : 1m58.47s
LTO cached, sccache uncached   : 2m11.85s
LTO cached, sccache cached:    : 12.70s
no LTO cache, sccache uncached : 3m03.27s
no LTO cache, sscache cached   : 1m02.44s
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant