GNU bug report logs -
#70398
[PATCH 0/5] Reduce the size of gnu/packages/*.go files
Previous Next
Reported by: Ludovic Courtès <ludo <at> gnu.org>
Date: Mon, 15 Apr 2024 15:29:03 UTC
Severity: normal
Tags: patch
Done: Ludovic Courtès <ludo <at> gnu.org>
Bug is archived. No further changes may be made.
Full log
View this message in rfc822 format
[Message part 1 (text/plain, inline)]
Your message dated Sat, 04 May 2024 19:17:05 +0200
with message-id <87h6fdsdim.fsf <at> gnu.org>
and subject line Re: [bug#70398] [PATCH 0/5] Reduce the size of gnu/packages/*.go files
has caused the debbugs.gnu.org bug report #70398,
regarding [PATCH 0/5] Reduce the size of gnu/packages/*.go files
to be marked as done.
(If you believe you have received this mail in error, please contact
help-debbugs <at> gnu.org.)
--
70398: https://debbugs.gnu.org/cgi/bugreport.cgi?bug=70398
GNU Bug Tracking System
Contact help-debbugs <at> gnu.org with problems
[Message part 2 (message/rfc822, inline)]
Hello!
As a followup to <https://issues.guix.gnu.org/70280>, I started looking
into the size of Guix itself, and in particular that of gnu/packages/*.go
files.
What follows is a bunch of tricks to reduce code bloat, achieving ~14%
reduction in the size of .go files (~18% if we look at gnu/packages
alone).
About 60% of those files are in the 64–128 KiB range. Since ELF sections
are currently 64 KiB-aligned (see ‘*lcm-page-size*’ in Guile), we would
save space by ensuring these are sparse files. To do that, we’ll need to
detect holes when restoring nars and/or to change the nar format to
preserve holes, while also ensuring that when the daemon copies files
around, it also preserves holes. Work for later!
Thoughts?
Ludo’.
Ludovic Courtès (5):
records: Do not inline throws for ABI mismatches.
packages: Reduce bloat induced by ‘sanitize-inputs’.
records: Do not inline the constructor.
packages: ‘define-public’ replacement calls ‘module-export!’ directly.
packages: Reduce code bloat due to list allocation in input fields.
guix/packages.scm | 53 +++++++++++++++++++++++++++++++++++--------
guix/records.scm | 58 ++++++++++++++++++++++++++++++++---------------
2 files changed, 83 insertions(+), 28 deletions(-)
base-commit: cd45294d576975a3bff2f755764a3f46f09ea6f9
--
2.41.0
[Message part 3 (message/rfc822, inline)]
Hello,
Pushed!
402d0a9b9d2 * packages: Reduce code bloat due to list allocation in input fields.
76127069e02 * packages: ‘define-public’ replacement calls ‘module-export!’ directly.
c14b8636fba * records: Do not inline the constructor.
b011ef4378a * packages: Reduce bloat induced by ‘sanitize-inputs’.
2f93e1682a0 * records: Do not inline throws for ABI mismatches.
Thanks,
Ludo’.
This bug report was last modified 1 year and 7 days ago.
Previous Next
GNU bug tracking system
Copyright (C) 1999 Darren O. Benham,
1997,2003 nCipher Corporation Ltd,
1994-97 Ian Jackson.