From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from gate001.proxmox.com (gate001.proxmox.com [IPv6:2a0f:8001:1:32::40]) by lore.proxmox.com (Postfix) with ESMTPS id 8B9131FF150 for ; Mon, 06 Jul 2026 13:48:34 +0200 (CEST) Received: from gate001.proxmox.com (localhost.localdomain [127.0.0.1]) by gate001.proxmox.com (Proxmox) with ESMTP id F367E214B0; Mon, 06 Jul 2026 13:48:26 +0200 (CEST) From: Dominik Csapak To: pdm-devel@lists.proxmox.com Subject: [PATCH datacenter-manager 0/3] ui: reduce compilation time for relase builds Date: Mon, 6 Jul 2026 13:44:03 +0200 Message-ID: <20260706114822.2751086-1-d.csapak@proxmox.com> X-Mailer: git-send-email 2.47.3 MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-SPAM-LEVEL: Spam detection results: 0 AWL 0.038 Adjusted score from AWL reputation of From: address DMARC_MISSING 0.1 Missing DMARC policy KAM_DMARC_STATUS 0.01 Test Rule for DKIM or SPF Failure with Strict Alignment (newer systems) SPF_HELO_NONE 0.001 SPF: HELO does not publish an SPF Record SPF_PASS -0.001 SPF: sender matches SPF record Message-ID-Hash: JS3KMPFZWD7TMO6AWL5KFD4UPTFTEQDB X-Message-ID-Hash: JS3KMPFZWD7TMO6AWL5KFD4UPTFTEQDB X-MailFrom: d.csapak@proxmox.com X-Mailman-Rule-Misses: dmarc-mitigation; no-senders; approved; loop; banned-address; emergency; member-moderation; nonmember-moderation; administrivia; implicit-dest; max-recipients; max-size; news-moderation; no-subject; digests; suspicious-header X-Mailman-Version: 3.3.10 Precedence: list List-Id: Proxmox Datacenter Manager development discussion List-Help: List-Owner: List-Post: List-Subscribe: List-Unsubscribe: By sacrificing some space savings: All three patches save us some time during 'make build' (for per patch improvements see the individual patches), but 2/3 and 3/3 sacrifice some space savings. Note that the numbers in the patches are measured against the baseline and all three patches together seem to have an even larger effect: They save us ~250s (-65%) but the file only gets bigger by 2.3 MiB (+16%) uncompressed, and 420Kib (+10%) compressed. Not sure if we want to trade binary size by compile time in this way, but at least the first patch should be a no-brainer since it does not change the binary size at all. Aside from these flags, there aren't that many knobs we have in the code itself to reduce compile time, aside from removing dependencies and keeping the whole project smaller. Maybe splitting the pve-api-types into smaller chunks could help (we only use a small fraction of it in the ui) or replacing some bigger crates with smaller ones just for the gui (or replacing with browser native code where possible, maybe base64 and such things?) Dominik Csapak (3): ui: d/rules: don't generate debuginfo for the UI ui: d/rules: use thin instead of fat LTO ui: d/rules: don't limit compilation to 1 codgen-unit ui/debian/rules | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) -- 2.47.3