all messages for Guix-related lists mirrored at yhetil.org
 help / color / mirror / code / Atom feed
* [bug#70132] [PATCH 00/11] Improve startup time and memory footprint for short-lived commands
@ 2024-04-01 20:22 Ludovic Courtès
  2024-04-01 20:25 ` [bug#70132] [PATCH 01/11] channels: Use SRFI-71 instead of SRFI-11 Ludovic Courtès
                   ` (12 more replies)
  0 siblings, 13 replies; 17+ messages in thread
From: Ludovic Courtès @ 2024-04-01 20:22 UTC (permalink / raw)
  To: 70132
  Cc: Ludovic Courtès, Christopher Baines, Josselin Poiret,
	Ludovic Courtès, Mathieu Othacehe, Ricardo Wurmus,
	Simon Tournier, Tobias Geerinckx-Rice

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





^ permalink raw reply	[flat|nested] 17+ messages in thread

end of thread, other threads:[~2024-04-16 16:43 UTC | newest]

Thread overview: 17+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2024-04-01 20:22 [bug#70132] [PATCH 00/11] Improve startup time and memory footprint for short-lived commands Ludovic Courtès
2024-04-01 20:25 ` [bug#70132] [PATCH 01/11] channels: Use SRFI-71 instead of SRFI-11 Ludovic Courtès
2024-04-15 22:41   ` Simon Tournier
2024-04-01 20:25 ` [bug#70132] [PATCH 02/11] git: Add ‘repository-info’ and use it in (guix channels) Ludovic Courtès
2024-04-01 20:25 ` [bug#70132] [PATCH 03/11] channels: Move ‘commit-short-id’ to (guix git) Ludovic Courtès
2024-04-01 20:25 ` [bug#70132] [PATCH 04/11] git: Add ‘tag->commit’ and use it in (guix channels) Ludovic Courtès
2024-04-01 20:25 ` [bug#70132] [PATCH 05/11] channels: Autoload (git …) modules Ludovic Courtès
2024-04-15 22:45   ` Simon Tournier
2024-04-01 20:25 ` [bug#70132] [PATCH 06/11] guix system: Autoload some more Ludovic Courtès
2024-04-01 20:25 ` [bug#70132] [PATCH 07/11] utils: Don’t re-export ‘call-with-temporary-output-file’ Ludovic Courtès
2024-04-01 20:25 ` [bug#70132] [PATCH 08/11] guix: Delay loading of (gnutls) Ludovic Courtès
2024-04-01 20:25 ` [bug#70132] [PATCH 09/11] ui: Delay use of (guix build syscalls) Ludovic Courtès
2024-04-01 20:25 ` [bug#70132] [PATCH 10/11] Autoload " Ludovic Courtès
2024-04-01 20:25 ` [bug#70132] [PATCH 11/11] Autoload (gcrypt hash) Ludovic Courtès
2024-04-15 21:43 ` bug#70132: [PATCH 00/11] Improve startup time and memory footprint for short-lived commands Ludovic Courtès
     [not found] ` <handler.70132.D70132.17132174197570.notifdone@debbugs.gnu.org>
2024-04-15 22:57   ` [bug#70132] Not receiving Emails from Debbugs (was Re: bug#70132: closed ...) Simon Tournier
2024-04-16 16:42     ` Ludovic Courtès

Code repositories for project(s) associated with this external index

	https://git.savannah.gnu.org/cgit/guix.git

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.