From: "Fabian Grünbichler" <f.gruenbichler@proxmox.com>
To: Dominik Csapak <d.csapak@proxmox.com>,
pdm-devel@lists.proxmox.com,
Thomas Lamprecht <t.lamprecht@proxmox.com>
Subject: Re: [PATCH datacenter-manager 2/3] ui: d/rules: use thin instead of fat LTO
Date: Wed, 08 Jul 2026 09:11:28 +0200 [thread overview]
Message-ID: <1783494290.vpra89xkg7.astroid@yuna.none> (raw)
In-Reply-To: <5b842f53-3059-4ac2-9e7a-4a7a04132ace@proxmox.com>
On July 7, 2026 11:53 pm, Thomas Lamprecht wrote:
> Am 07.07.26 um 16:06 schrieb Fabian Grünbichler:
>> On July 6, 2026 1:44 pm, Dominik Csapak wrote:
>>> fat LTO merges all LLVM modules into a single unit for optimizing.
>>> Changing this to thin LTO increases the uncompressed binary size by 1.59
>>> MiB (+11%) (compressed +192KiB/+4.6%) but save us ~160s (-40%) of (wall)
>>> build time during a 'make deb'.
>> but what are the effects on runtime performance? the same question also
>> applies to the next patch, a single codegen unit increases the amount of
>> optimizations the compiler can do..
>
> FWIW, https://docs.wasmtime.dev/examples-minimal.html states:
>
> """
> Note that with LTO using a single codegen unit may only have marginal benefit.
> If not using LTO, however, a single codegen unit will likely provide benefit over the default 16 codegen units.
> """
>
> If that (still) holds, we currently do the worst of both worlds compile
> time wise while not really profiting from this. I'd probably try dropping
> overriding codegen units first (we do not lower that on performance other
> (non-wasm) critical code either, e.g. PBS.
Most perf related documentation seems to say codegen-units=1 and LTO=fat
are the way to go if you want to optimize for performance, though
whether that is true for wasm I don't know (the documentation there is
quite messy/outdated).
AFAIK, it's how projects optimizing for performance build their release
binaries (i.e., firefox and rustc/cargo upstream both ship their
binaries built that way - they also tack on profile based optimizations
for even more gains). Would be interesting to test whether for PBS we'd
see benefits doing that as well?
next prev parent reply other threads:[~2026-07-08 7:12 UTC|newest]
Thread overview: 13+ messages / expand[flat|nested] mbox.gz Atom feed top
2026-07-06 11:44 [PATCH datacenter-manager 0/3] ui: reduce compilation time for relase builds Dominik Csapak
2026-07-06 11:44 ` [PATCH datacenter-manager 1/3] ui: d/rules: don't generate debuginfo for the UI Dominik Csapak
2026-07-07 14:18 ` Fabian Grünbichler
2026-07-06 11:44 ` [PATCH datacenter-manager 2/3] ui: d/rules: use thin instead of fat LTO Dominik Csapak
2026-07-07 14:05 ` Fabian Grünbichler
2026-07-07 14:10 ` Dominik Csapak
2026-07-07 14:51 ` Fabian Grünbichler
2026-07-07 21:53 ` Thomas Lamprecht
2026-07-08 7:11 ` Fabian Grünbichler [this message]
2026-07-08 8:44 ` Robert Obkircher
2026-07-08 9:38 ` Fabian Grünbichler
2026-07-06 11:44 ` [PATCH datacenter-manager 3/3] ui: d/rules: don't limit compilation to 1 codgen-unit Dominik Csapak
2026-07-08 10:27 ` [PATCH datacenter-manager 0/3] ui: reduce compilation time for relase builds Dominik Csapak
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=1783494290.vpra89xkg7.astroid@yuna.none \
--to=f.gruenbichler@proxmox.com \
--cc=d.csapak@proxmox.com \
--cc=pdm-devel@lists.proxmox.com \
--cc=t.lamprecht@proxmox.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox