unofficial mirror of help-guix@gnu.org 
 help / color / mirror / Atom feed
From: Julien Lepiller <julien@lepiller.eu>
To: help-guix@gnu.org, Pierre Neidhardt <mail@ambrevar.xyz>,
	Marius Bakke <mbakke@fastmail.com>
Cc: Mathieu Othacehe <othacehe@gnu.org>
Subject: Re: Guix closure size of a system?
Date: Tue, 19 May 2020 08:21:15 -0400	[thread overview]
Message-ID: <B6509EF7-3BD3-43E5-806B-EA51C166FAF0@lepiller.eu> (raw)
In-Reply-To: <87imgsi6xd.fsf@ambrevar.xyz>

Le 19 mai 2020 05:57:02 GMT-04:00, Pierre Neidhardt <mail@ambrevar.xyz> a écrit :
>This works, thanks!
>
>Should we document it in `guix size -h`?
>
>I think the result is interesting with respect to the discussion we had
>about shrinking the closure sizes in Guix:
>
>--8<---------------cut here---------------start------------->8---
>> guix size /gnu/store/alydrspjw3sfc6b01kyz30vjhjrny86c-system
>store item                                                       total 
>  self
>/gnu/store/w8gjhcw6a16rk1dvxa97bz2znal5fihm-go-1.13.9             
>639.1   350.7   6.8%
>/gnu/store/9qs1v87rv4ch7x07adbx8pfnkjxm39d1-guix-1.1.0-4.bdc801e  
>467.8   268.9   5.2%
>/gnu/store/cpx45dbix533r2yx73jbv8fd0h8c3vyn-linux-5.4.41          
>244.0   244.0   4.7%
>/gnu/store/6hnk449wv8vhbrm0in0ychqiwipsqyza-docker-19.03.7       
>1245.3   195.7   3.8%
>/gnu/store/n08as2lvmcc14q57bq1z8p7r1kaa1vv2-gnome-getting-started-docs-3.32.2
>  164.0   164.0   3.2%
>/gnu/store/skxkrhgn9z0fg9hmnbcyfdgzs5w4ryrr-llvm-9.0.1            
>199.9   128.5   2.5%
>/gnu/store/da1lys4i2yxl549iwkbdg1fb7azphniw-emacs-26.3           
>1181.3   128.1   2.5%
>/gnu/store/8jn365r0kk69j1f4b1q2b7aa2qm1xvg1-mesa-19.3.4           
>341.6   114.6   2.2%
>/gnu/store/rn75fm7adgx3pw5j8pg3bczfqq1y17lk-gcc-7.5.0             
>178.5   107.3   2.1%
>/gnu/store/rsjdq6b0csxc16mbapx5yvrc2zrk20za-containerd-1.2.5      
>755.7   105.9   2.0%
>/gnu/store/vnivzyfy0bcxz8rn9gasav5k7skax57y-samba-4.12.2          
>594.1    98.8   1.9%
>/gnu/store/1hrwdsd5fwn3xmdgnpyg2h1j5jr6q8ws-webkitgtk-2.28.2      
>930.4    98.2   1.9%
>/gnu/store/znly83q0jmcqg6ppwbz5marj5ix9vkk2-locale-2.31            
>91.9    91.9   1.8%
>/gnu/store/ikcjpg1y0mb5qinpdc0q85xvm53cz80q-locale-2.28            
>91.8    91.8   1.8%
>/gnu/store/09a5iq080g9b641jyl363dr5jkkvnhcn-python-3.8.2          
>171.4    79.8   1.5%
>/gnu/store/fj33c1nw4v81qcd33wp53f3aa01g3m9d-ibus-1.5.22           
>946.2    66.3   1.3%
>/gnu/store/sd278fsdfx5hjrcgncflnp9qq4l42p1c-python2-2.7.17        
>151.7    61.1   1.2%
>/gnu/store/8zvc5mvk0xm3ygrxsgpyy5ilxb5rzjry-perl-5.30.2           
>146.2    57.1   1.1%
>/gnu/store/lvnv80g5iqf7fqlckadjfrad9999d4f7-mozjs-60.2.3-2        
>248.3    54.7   1.1%
>/gnu/store/ljcrz0d86r20phszvj6s1mdyjchz79ja-guile-static-stripped-3.0.2
>   54.7    54.7   1.1%
>/gnu/store/m1z7cdbqsqyp9xnjw5cvlb4a7gkcg3m4-binutils-2.34          
>93.0    54.6   1.1%
>/gnu/store/18hp7flyb3yid3yp49i6qcdq0sbi5l1n-guile-3.0.2           
>132.8    53.2   1.0%
>/gnu/store/0m0vd873jp61lcm4xa3ljdgx381qa782-guile-3.0.2           
>132.8    53.2   1.0%
>/gnu/store/fii66zlqdzv3kbfdbzmj33vvxfwvj33h-gnome-user-docs-3.32.3   
>49.9    49.9   1.0%
>[...]
>--8<---------------cut here---------------end--------------->8---
>
>- go: I think I've got go because of docker, but go should be a
>  build-time dependency, I don't think it belong here.
>
>- llvm: I think it's mostly dragged by Mesa.
>  Mesa depends on some LLVM libs, but not all of llvm:
>  https://www.archlinux.org/packages/extra/x86_64/mesa/
>
>Moving the llvm libs to a "lib" output could reduce the closure size of
>many packages I believe.
>
>Thoughts?

Llvm doesn't support that afaik.

I've recently found that we have a 30MB static library in mozjs (a gdm dependency) that is described as unused by other packages in FS, and they suggest to remove it.

Another easy win is the 30MB gnome-backgrounds which useless on my system, as I don't use gnome. Not sure why it's in the closure of gdm.

We could gain 50MB in the closure of many software (but not the system) by placing gnutls guile bindings in their own output (for instance, icecat depends on ffmpeg which depends on gnutls which in turn depends on guile). This might still be useful to reduce the size of separate profiles.

I'll probably send a some patches in the next few days :)


  reply	other threads:[~2020-05-19 12:22 UTC|newest]

Thread overview: 14+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2020-05-19  6:19 Guix closure size of a system? Pierre Neidhardt
2020-05-19  6:30 ` Mathieu Othacehe
2020-05-19  7:15   ` Pierre Neidhardt
2020-05-19  9:33 ` Marius Bakke
2020-05-19  9:57   ` Pierre Neidhardt
2020-05-19 12:21     ` Julien Lepiller [this message]
2020-05-19 12:50       ` Pierre Neidhardt
2020-05-19 13:05         ` Julien Lepiller
2020-05-19 15:41     ` Leo Famulari
2020-05-19 15:58       ` Pierre Neidhardt
2020-05-19 16:22         ` Leo Famulari
2020-05-19 16:46           ` Pierre Neidhardt
2020-05-19 17:28             ` Leo Famulari
2020-05-19 10:52 ` Tobias Geerinckx-Rice

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

  List information: https://guix.gnu.org/

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=B6509EF7-3BD3-43E5-806B-EA51C166FAF0@lepiller.eu \
    --to=julien@lepiller.eu \
    --cc=help-guix@gnu.org \
    --cc=mail@ambrevar.xyz \
    --cc=mbakke@fastmail.com \
    --cc=othacehe@gnu.org \
    /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;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).