Am Samstag, dem 14.01.2023 um 23:07 +0100 schrieb Ludovic Courtès: > Hello! > > Over the course of a few years, the size of our packages has > apparently kept growing. Example: > > --8<---------------cut here---------------start------------->8--- > $ guix time-machine --commit=v1.2.0 -- size emacs > store item                                                      > total   self > /gnu/store/118xpdazyylxa1rlc68h9lmh38vhxrb4-llvm-10.0.0           > 210.8  139.3 16.2% > /gnu/store/1qmd9achfkm1njzxf8hi86q53pmy9sxk-mesa-20.0.7           > 369.2  131.3 15.3% > /gnu/store/d83hc7cqgnhl1vlz1rv4ibkvaqaq2g35-emacs-27.1            > 859.7  106.2 12.4% > /gnu/store/18hp7flyb3yid3yp49i6qcdq0sbi5l1n-guile-3.0.2           > 132.8   53.2  6.2% > /gnu/store/9lckq1194qcy4a7kv8bihagd58shj7yr-gtk+-3.24.20          > 723.7   49.0  5.7% > /gnu/store/qizplwwgqwyq6qmz1i6jlaib5kgzrgwq-icu4c-66.1            > 110.2   38.1  4.4% > /gnu/store/fa6wj5bxkj5ll1d7292a70knmyl7a0cr-glibc-2.31             > 38.4   36.7  4.3% > […] > total: 859.7 MiB > $ guix time-machine --commit=v1.3.0 -- size emacs > store item                                                      > total   self > /gnu/store/g3idjpqsp2p2d163qfzskxj4k58nrx7f-llvm-11.0.0           > 220.0  148.6 16.9% > /gnu/store/jf269s6clr6r57p8v5c3c1qkyra6apq2-mesa-20.2.4           > 389.1  141.6 16.1% > /gnu/store/7nlq2v4000pw8vgj3m4vrwz072ib58xh-emacs-27.2            > 880.5  106.4 12.1% > /gnu/store/18hp7flyb3yid3yp49i6qcdq0sbi5l1n-guile-3.0.2           > 132.8   53.2  6.0% > /gnu/store/czf23hay13pp25yzrb4yq3n4gcri5r70-gtk+-3.24.24          > 744.3   49.1  5.6% > /gnu/store/2wqjj3mkqdvsvksndr2hpjpi7qqwi7kr-icu4c-66.1            > 110.2   38.1  4.3% > /gnu/store/fa6wj5bxkj5ll1d7292a70knmyl7a0cr-glibc-2.31             > 38.4   36.7  4.2% > […] > total: 880.5 MiB > $ guix time-machine --commit=v1.4.0 -- size emacs > store item                                                      > total   self > /gnu/store/i11jmrc90drpx9mc6cyb6s4pjny91qx6-emacs-28.2           > 1592.7  250.6 15.7% > /gnu/store/sdzfljm6san79pqiy42yp0nzmkr2bafc-mesa-21.3.8           > 411.6  169.6 10.6% > /gnu/store/6pdzpmxg5afzss6dlivq8z84sfa31x22-llvm-11.0.0           > 221.5  149.5  9.4% > /gnu/store/lphzb1z0r4kbb453rsvnw7msrxxzp5r7-libgccjit-10.3.0      > 244.8  128.5  8.1% > /gnu/store/pfas3c4lhr1jwkj2gl0yx8dg4xjjlp4r-mozjs-91.13.0         > 261.2   65.4  4.1% > /gnu/store/hy6abswwv4d89zp464fw52z65fkzr7h5-perl-5.34.0           > 147.7   58.6  3.7% > /gnu/store/zyqimpkmpffc24nwwqp46cicj8ss85y5-binutils-2.37         > 126.0   54.4  3.4% > /gnu/store/cnfsv9ywaacyafkqdqsv2ry8f01yr7a9-guile-3.0.7           > 129.1   52.0  3.3% > /gnu/store/4aq7hw017s9ihpm1rxpwfz28c80569z9-gtk+-3.24.30         > 1002.2   48.6  3.1% > /gnu/store/vaxkf8cbc7slgc3ikm5qr3815wih93w8-ghostscript-with-cups- > 9.54.0  219.1   39.1  2.5% > /gnu/store/bjycxjjkp1da53ijsa4hfdrz9mcgg55h-icu4c-69.1            > 110.7   38.0  2.4% > /gnu/store/ayc9r7162rphy4zjw8ch01pmyh214h82-glibc-2.33             > 76.6   36.6  2.3% > […] > total: 1592.7 MiB > --8<---------------cut here---------------end--------------->8--- > > I think something went wrong here. :-) > > In particular with Emacs itself (due to JIT + dependency on > libgccjit, Binutils, etc.?) and with GTK+ (due to mozjs in polkit?). The effect is even more pronounced with emacs-minimal, as it gratuitously pulls in libgccjit and binutils. Compare
/gnu/store/lphzb1z0r4kbb453rsvnw7msrxxzp5r7-libgccjit-10.3.0 244.8 128.5 27.2% /gnu/store/wrzjr2g38f23fqg09rrdcn10va5gc5xl-emacs-minimal-28.2 472.4 110.7 23.4% /gnu/store/zyqimpkmpffc24nwwqp46cicj8ss85y5-binutils-2.37 126.0 54.4 11.5% /gnu/store/ayc9r7162rphy4zjw8ch01pmyh214h82-glibc-2.33 76.6 36.6 7.8% /gnu/store/5h2w4qi9hk1qzzgi1w83220ydslinr4s-glibc-2.33 38.3 36.6 7.7% /gnu/store/6d0pl5khj08j3c2619jnypc8bznspgx8-gcc-10.3.0-lib 71.7 33.4 7.1% /gnu/store/094bbaq6glba86h1d4cj16xhdi6fk2jl-gcc-10.3.0-lib 71.7 33.4 7.1% /gnu/store/8fpk2cja3f07xls48jfnpgrzrljpqivr-coreutils-8.32 91.6 16.4 3.5% /gnu/store/9rrnm5hdjw7cy96a2a9rfgh6y08wsbmf-ncurses-6.2.20210619 77.6 5.9 1.3% /gnu/store/pmq05n0q25v4qjyibxfrp53v4391k7vh-mpfr-4.1.0 78.4 4.0 0.9% /gnu/store/ajw8nnrnd6hr183skwqdgc8c7mazg97h-isl-0.23 77.3 2.9 0.6% /gnu/store/fwbiihd2sbhai63y1pvvdh0f2bakfzrf-gmp-6.2.1 74.4 2.7 0.6% /gnu/store/4f304c7dp68hkcp1zi1i07zm8nfvvyp7-bash-static-5.1.8 1.7 1.7 0.4% /gnu/store/720rj90bch716isd8z7lcwrnvz28ap4y-bash-static-5.1.8 1.7 1.7 0.4% /gnu/store/4y5m9lb8k3qkb1y9m02sw9w9a6hacd16-bash-minimal-5.1.8 39.3 1.0 0.2% /gnu/store/xjwp2hsd9256icjjybfrmznppjicywf6-grep-3.6 73.5 0.8 0.2% /gnu/store/ba02g5xkqiss6s5z8mbj9cvkal6l7b9g-mpc-1.2.1 78.8 0.4 0.1% /gnu/store/a38k2v29l6l0iz6pmlk4dmzwdbvl10lq-acl-2.3.1 72.3 0.3 0.1% /gnu/store/a7ggx0af69gv4k5mr1k617p4vy9kgx2v-libcap-2.62 72.0 0.3 0.1% /gnu/store/jkjs0inmzhj4vsvclbf08nmh0shm7lrf-attr-2.5.1 71.9 0.2 0.1% /gnu/store/8qv5kb2fgm4c3bf70zcg9l6hkf3qzpw9-zlib-1.2.11 71.9 0.2 0.0% /gnu/store/0c1yfbxyv877mlgychfgvmk5ha2jqh52-gzip-1.10 73.7 0.2 0.0% Gesamt: 472.4 MiB and /gnu/store/7j9jvig1m10zxlhag87fjlmygk5wd779-emacs-minimal-27.2 183.1 105.2 57.4% /gnu/store/fa6wj5bxkj5ll1d7292a70knmyl7a0cr-glibc-2.31 38.4 36.7 20.1% /gnu/store/01b4w3m6mp55y531kyi1g8shh722kwqm-gcc-7.5.0-lib 71.0 32.6 17.8% /gnu/store/zzkly5rbfvahwqgcs7crz0ilpi7x5g5p-ncurses-6.2 76.9 5.9 3.2% /gnu/store/mmhimfwmmidf09jw1plw3aw1g1zn2nkh-bash-static-5.0.16 1.6 1.6 0.9% /gnu/store/pwcp239kjf7lnj5i4lkdzcfcxwcfyk72-bash-minimal-5.0.16 39.4 1.0 0.6% Gesamt: 183.1 MiB This should probably be rectified by removing said inputs from emacs- minimal, as they aren't actually used. > And then MESA and LLVM have always been problematically big. > > We should do better. I mean, it’s just a text editor, isn’t it? Well, gedit is also "just an editor" which weighs 1GB (compared to 880MB for Emacs) in v1.3.0 and 1.3GB in v1.4.0 (mozjs?). I think we ought to look into duplicate references being kept (glibc, gcc), but we can't really work against packages including more inputs without reducing their feature set – in some cases we could try alternatives like mozjs vs. duktape for polkit. Cheers