[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[bug#70132] [PATCH 00/11] Improve startup time and memory footprint for
From: |
Ludovic Courtès |
Subject: |
[bug#70132] [PATCH 00/11] Improve startup time and memory footprint for short-lived commands |
Date: |
Mon, 1 Apr 2024 22:22:53 +0200 |
Hello!
This is a pretty boring series adding #:autoload in strategic places.
The goal is to avoid loading tons of modules and shared objects when
running ‘guix describe’ or ‘guix shell’ on a cache hit.
There’s a tiny bit of reshuffling to make that easier:
• Bits moved from (guix channels) to (guix git);
• ‘call-with-temporary-output-file’ no longer re-exported by
(guix utils).
I measured the impact with things like:
strace -e openat -o /tmp/log.strace guix describe
grep 'openat.*\.go' </tmp/log.strace | wc -l
and also checking specifically whether things like Guile-Git,
Guile-Gcrypt, and Guile-GnuTLS were being loaded.
Feedback welcome!
Ludo’.
Ludovic Courtès (11):
channels: Use SRFI-71 instead of SRFI-11.
git: Add ‘repository-info’ and use it in (guix channels).
channels: Move ‘commit-short-id’ to (guix git).
git: Add ‘tag->commit’ and use it in (guix channels).
channels: Autoload (git …) modules.
guix system: Autoload some more.
utils: Don’t re-export ‘call-with-temporary-output-file’.
guix: Delay loading of (gnutls).
ui: Delay use of (guix build syscalls).
Autoload (guix build syscalls).
Autoload (gcrypt hash).
guix/channels.scm | 56 +++++++++++++++++----------------------
guix/derivations.scm | 6 ++---
guix/discovery.scm | 4 +--
guix/download.scm | 4 +--
guix/git.scm | 52 +++++++++++++++++++++++++++---------
guix/import/hackage.scm | 4 +--
guix/import/hexpm.scm | 7 ++---
guix/import/opam.scm | 7 ++---
guix/import/pypi.scm | 5 ++--
guix/nar.scm | 4 +--
guix/packages.scm | 5 ++--
guix/scripts.scm | 7 +++--
guix/scripts/build.scm | 4 +--
guix/scripts/describe.scm | 4 +--
guix/scripts/system.scm | 12 ++++++---
guix/store.scm | 15 ++++++-----
guix/ui.scm | 22 +++------------
guix/utils.scm | 17 ++++++------
tests/cpio.scm | 6 ++---
tests/egg.scm | 5 ++--
tests/opam.scm | 5 ++--
tests/publish.scm | 5 ++--
tests/store-database.scm | 6 ++---
tests/utils.scm | 3 ++-
24 files changed, 143 insertions(+), 122 deletions(-)
base-commit: 16c713083516e60b5ae30b3a8b49d5bf8d4cadc3
--
2.41.0
- [bug#70132] [PATCH 00/11] Improve startup time and memory footprint for short-lived commands,
Ludovic Courtès <=
- [bug#70132] [PATCH 03/11] channels: Move ‘commit-short-id’ to (guix git)., Ludovic Courtès, 2024/04/01
- [bug#70132] [PATCH 01/11] channels: Use SRFI-71 instead of SRFI-11., Ludovic Courtès, 2024/04/01
- [bug#70132] [PATCH 04/11] git: Add ‘tag->commit’ and use it in (guix channels)., Ludovic Courtès, 2024/04/01
- [bug#70132] [PATCH 05/11] channels: Autoload (git …) modules., Ludovic Courtès, 2024/04/01
- [bug#70132] [PATCH 02/11] git: Add ‘repository-info’ and use it in (guix channels)., Ludovic Courtès, 2024/04/01
- [bug#70132] [PATCH 06/11] guix system: Autoload some more., Ludovic Courtès, 2024/04/01
- [bug#70132] [PATCH 10/11] Autoload (guix build syscalls)., Ludovic Courtès, 2024/04/01
- [bug#70132] [PATCH 11/11] Autoload (gcrypt hash)., Ludovic Courtès, 2024/04/01