Akib Azmain Turja <a...@disroot.org> writes:
> [[PGP Signed Part:Undecided]] > Paul Jewell via "Development of GNU Guix and the GNU System > distribution." <guix-devel@gnu.org> writes: > >> Evening all, >> >> On 14/01/2023 23:07, Ludovic Courtès wrote: >>> 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?). >>> 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? >>> Ludo’. >>> >> >> Please forgive my ignorance if I have missed anything but: >> >> - does anyone actually install from a CD these days? > > I don't know, but I'd just use a pendrive if I need an external storage. > (If I don't need, I'd just use a 2 GB HDD partition, which I made just > for very purpose. ;) ) > >> - Can an ISO be bigger than a CD then be installed on a memory stick? > > Yes. > >> >> It strikes me that this is like King Canute holding back the >> tide. Package size growth is pretty inevitable, and even if work now >> can bring the size down to that of a CD, the same problem will occur >> in the not too distant future. >> > > But we should really try to keep them low. > >> Is it really a problem? > > YES!!!!!!!!! > > Big packages means, it takes more space. If a package grows by 700 MB, > installed on 10,000 computers, ~70 TB (70,000,000 MB) is wasted. You > could use that precious storage to save your dad's photo, your favorite > music, your child's video calling you "daddy/mummy" for the first time, > etc. You would need to get more storage for that storing those > invaluable things, so you would need more storage devices. When you buy > more storage, the demand of increases, and therefore the manufacturing > of storage devices increase. The more devices are manufactured, the > more carbon dioxide and other greenhouse gas emission. > > Again, if the packages is downloaded 100 times every day, ~70 GB (70000 > MB) of bandwidth is wasted every day. Someone on the network could use > that to do some more important thing, like video calling a relative > living far away. Moreover, it takes time to get the extra 700 MB for > everyone. Assuming it takes 8 minutes on average, ~13.33 hours (800 > minutes) of time is wasted everyday. We have limited time in our lives, > we shouldn't waste the time. This extra ~70 GB of transmission means > more load on the network, more load on the network devices, and > therefore more power consumption. The more power consumption, the more > greenhouse gas emission, since we're fossil fuel dependent. If your > country uses nuclear power, the extra nuclear waste is a threat for the > environment. > > The more greenhouse gas, the more greenhouse effect, the more global > warming, the more climate change. You will just destroy the earth for > future yourself and the future generation. What will you answer to > them? > >> Please educate me! :) > > It's my pleasure to make someone aware. > I hope this was enough. :) > If not, just ask! > >> >> -- >> Paul >> >> Well said. Gonna add to this that developers are overwhelmingly from privileged backgrounds. Just because we don't have a lot of users on the mailing list who have to use satellite internet on ancient laptops does not mean those (potential) users are not out there and wouldn't benefit from our distro not being a bloated mess. Which sadly it kind of is currently. I wholeheartedly recommend trying to use it on an old netbook or an armhf device from time to time. Like others have said: if you want to develop efficient software, use a slow machine. :)