From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.io!.POSTED.blaine.gmane.org!not-for-mail From: Eli Zaretskii Newsgroups: gmane.emacs.bugs Subject: bug#59692: 29.0.60; Reduce installation size by disabling byte-compilation for some lisp files that won't benefit Date: Tue, 29 Nov 2022 22:18:01 +0200 Message-ID: <83o7spldl2.fsf@gnu.org> References: <4bd6a1b7-982e-4593-95dd-2414058e2126@gmail.com> Injection-Info: ciao.gmane.io; posting-host="blaine.gmane.org:116.202.254.214"; logging-data="33304"; mail-complaints-to="usenet@ciao.gmane.io" Cc: 59692@debbugs.gnu.org To: daanturo Original-X-From: bug-gnu-emacs-bounces+geb-bug-gnu-emacs=m.gmane-mx.org@gnu.org Tue Nov 29 21:18:36 2022 Return-path: Envelope-to: geb-bug-gnu-emacs@m.gmane-mx.org Original-Received: from lists.gnu.org ([209.51.188.17]) by ciao.gmane.io with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.92) (envelope-from ) id 1p073s-0008Wf-13 for geb-bug-gnu-emacs@m.gmane-mx.org; Tue, 29 Nov 2022 21:18:36 +0100 Original-Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1p073M-0001aQ-QL; Tue, 29 Nov 2022 15:18:04 -0500 Original-Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1p073K-0001Zc-DO for bug-gnu-emacs@gnu.org; Tue, 29 Nov 2022 15:18:03 -0500 Original-Received: from debbugs.gnu.org ([209.51.188.43]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1p073K-0004BM-4M for bug-gnu-emacs@gnu.org; Tue, 29 Nov 2022 15:18:02 -0500 Original-Received: from Debian-debbugs by debbugs.gnu.org with local (Exim 4.84_2) (envelope-from ) id 1p073J-0006Nv-KX for bug-gnu-emacs@gnu.org; Tue, 29 Nov 2022 15:18:01 -0500 X-Loop: help-debbugs@gnu.org Resent-From: Eli Zaretskii Original-Sender: "Debbugs-submit" Resent-CC: bug-gnu-emacs@gnu.org Resent-Date: Tue, 29 Nov 2022 20:18:01 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 59692 X-GNU-PR-Package: emacs Original-Received: via spool by 59692-submit@debbugs.gnu.org id=B59692.166975306424531 (code B ref 59692); Tue, 29 Nov 2022 20:18:01 +0000 Original-Received: (at 59692) by debbugs.gnu.org; 29 Nov 2022 20:17:44 +0000 Original-Received: from localhost ([127.0.0.1]:56077 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1p0732-0006Na-Gs for submit@debbugs.gnu.org; Tue, 29 Nov 2022 15:17:44 -0500 Original-Received: from eggs.gnu.org ([209.51.188.92]:46068) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1p072y-0006NQ-SN; Tue, 29 Nov 2022 15:17:42 -0500 Original-Received: from fencepost.gnu.org ([2001:470:142:3::e]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1p072s-000491-RO; Tue, 29 Nov 2022 15:17:35 -0500 DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=gnu.org; s=fencepost-gnu-org; h=References:Subject:In-Reply-To:To:From:Date: mime-version; bh=UtPEghQdld9jtONwdC2edy/NLsh/JMUq/ikbg9UF/gI=; b=U3Cuv4W/gnWm mgU1VIL5VN0IlZp2u1be4dS6uro2NfwJnPQpcoJ4LYTxKjMzuxdVA5TId8iJlMMFVgRWI45uo2jGV aclqQtWrMqVc/tTRd2gU3Lhh1NXBFHH/uiMMryGLEhsQqJL0JXi49JiGAKOOs6InASbrV3CYURPig 6z77lahWKYhS6CQNrPgeBVYEShqWSAMK3nxCltQtljGehrTpBChzuEabMVqYe2oIE4OutdmwKYYAn DNsYK6T7Je7tPF2x8kOa4jc8Zu/SljvXqDoLeph1/LAFY/ESKds/6W3xk4e+FGf0Tq5n2ElC/rMgL 0O4sEQGVdQN4k32bDbkQFg==; Original-Received: from [87.69.77.57] (helo=home-c4e4a596f7) by fencepost.gnu.org with esmtpsa (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1p072l-0005QF-OD; Tue, 29 Nov 2022 15:17:34 -0500 In-Reply-To: <4bd6a1b7-982e-4593-95dd-2414058e2126@gmail.com> (message from daanturo on Wed, 30 Nov 2022 03:07:47 +0700) X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list X-BeenThere: bug-gnu-emacs@gnu.org List-Id: "Bug reports for GNU Emacs, the Swiss army knife of text editors" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: bug-gnu-emacs-bounces+geb-bug-gnu-emacs=m.gmane-mx.org@gnu.org Original-Sender: bug-gnu-emacs-bounces+geb-bug-gnu-emacs=m.gmane-mx.org@gnu.org Xref: news.gmane.io gmane.emacs.bugs:249433 Archived-At: severity 59692 wishlist thanks > Date: Wed, 30 Nov 2022 03:07:47 +0700 > From: daanturo > > Recently, after each rebuild, I noticed that Emacs' total installation > size has become bigger overtime. That's understandably unavoidable but > there's room for improvement. By analyzing disk usage I discovered > that: > > "lisp/leim/"'s compiled elisp files are taking the most significant disk > storage. > > By inspecting some of those, I don't think we are able to gain any > practical benefit by compiling them, they don't contain (~)any > function/macro definitions at all. > > So I try to disable byte-compilation (by either dir-local vars or > file-local vars) in: > > - lisp/leim/ : I disable for the whole directory > > And some more .el(s) that I don't find so essential to compile: > > - lisp/play/ : not so serious or critical to workflows > > - lisp/cedet/{ede,semantic,srecode}/ : we now have LSP/eglot! > - lisp/cedet/{ede.el,semantic.el} : same as above, also a big file by > itself > > (I wished pulse.el, mode-local.el, data-debug.el were moved out of this > lisp/cedet/, then putting a single .dir-local.el there would be the > simplest) > > - lisp/obsolete/ : already obsolete anyway, but some packages may still > depend on them so no-native-compile only > > Then build Emacs again. > > The final size of my Emacs installation, compared to before applying > those no-compile local variables: > 298.79 MiB -> 253.09 MiB > That's 45.7 MiB disk saved. About 15.3% of total shaved! > > Please consider at least "lisp/leim/"'s gigantic files such as > "ZIRANMA.el", "ARRAY30.el", "ja-dic.el" ,etc. as I find those the most > disk-expensive when compiled, yet questionable benefit and waste of time > spending to build. Thanks. FWIW, I consider this to be a waste of our resources and a long-term maintenance burden that I cannot justify, even if I accept your conclusions (and I'm not at all convinced that they are completely correct, especially since you didn't show any measurements of code speed with and without byte-compilation). 50 MiB of disk space is too small to justify keeping track of all the files, making decisions which will and will not be compiled, etc. Disk space is cheap these days. So I don't think we should do this.