On Tue, 30 May 2023, Simon Tournier wrote:

Just to put a figure on what means “big”: currently the .go files are 5
times bigger than their associated .scm.

Somehow, it’s the trap of DSL. :-) Packages are declarative and the
information they declare is not dense.  However, because they are
bytecompiled to a general programming language, their specificity is not
exploited.  In an ideal world, the compiled binary representation of the
packages should be smaller than their human-readable text-file
counterpart.

The mentioned improvement is nice.  And it’s visible:

--8<---------------cut here---------------start------------->8---
145M 
/gnu/store/nqrb3g4l59wd74w8mr9v0b992bj2sd1w-guix-d62c9b267-modules/lib/guile/3.0/site-ccache/gnu
117M 
/gnu/store/s6rqlhqr750k44ynkqqj5mwjj2cs2yln-guix-a09968565-modules/lib/guile/3.0/site-ccache/gnu
127M 
/gnu/store/ndii4bpyzh2rc05ya61s89rig9hdrl4k-guix-a0178d34f-modules/lib/guile/3.0/site-ccache/gnu
164M 
/gnu/store/ni63a203jf61dwxlv8kr9b8x3vb1pdsp-guix-8e2f32cee-modules/lib/guile/3.0/site-ccache/gnu
--8<---------------cut here---------------end--------------->8---

This is probably a tagent, sorry, but I was curious how well the .go files compressed. It seems quite well, actually:

jackhill@mimolette ~/.config/guix/current/lib/guile/3.0/site-ccache/gnu [env]$ 
sudo compsize .
Processed 595 files, 1659 regular extents (1659 refs), 0 inline.
Type       Perc     Disk Usage   Uncompressed Referenced
TOTAL       21%       36M         173M         173M
none       100%       16K          16K          16K
zstd        21%       36M         173M         173M

Best,
Jack

Reply via email to