GNU bug report logs - #70132
[PATCH 00/11] Improve startup time and memory footprint for short-lived commands

Previous Next

Package: guix-patches;

Reported by: Ludovic Courtès <ludo <at> gnu.org>

Date: Mon, 1 Apr 2024 20:24:02 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

From: help-debbugs <at> gnu.org (GNU bug Tracking System)
To: Ludovic Courtès <ludo <at> gnu.org>
Cc: tracker <at> debbugs.gnu.org
Subject: bug#70132: closed ([PATCH 00/11] Improve startup time and memory
 footprint for short-lived commands)
Date: Mon, 15 Apr 2024 21:44:02 +0000
[Message part 1 (text/plain, inline)]
Your message dated Mon, 15 Apr 2024 23:43:11 +0200
with message-id <87zftumhe8.fsf <at> gnu.org>
and subject line Re: [bug#70132] [PATCH 00/11] Improve startup time and memory footprint for short-lived commands
has caused the debbugs.gnu.org bug report #70132,
regarding [PATCH 00/11] Improve startup time and memory footprint for short-lived commands
to be marked as done.

(If you believe you have received this mail in error, please contact
help-debbugs <at> gnu.org.)


-- 
70132: https://debbugs.gnu.org/cgi/bugreport.cgi?bug=70132
GNU Bug Tracking System
Contact help-debbugs <at> gnu.org with problems
[Message part 2 (message/rfc822, inline)]
From: Ludovic Courtès <ludo <at> gnu.org>
To: guix-patches <at> gnu.org
Cc: Ludovic Courtès <ludo <at> gnu.org>
Subject: [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



[Message part 3 (message/rfc822, inline)]
From: Ludovic Courtès <ludo <at> gnu.org>
To: 70132-done <at> debbugs.gnu.org
Cc: Josselin Poiret <dev <at> jpoiret.xyz>,
 Simon Tournier <zimon.toutoune <at> gmail.com>, Mathieu Othacehe <othacehe <at> gnu.org>,
 Tobias Geerinckx-Rice <me <at> tobias.gr>, Ricardo Wurmus <rekado <at> elephly.net>,
 Christopher Baines <guix <at> cbaines.net>
Subject: Re: [bug#70132] [PATCH 00/11] Improve startup time and memory
 footprint for short-lived commands
Date: Mon, 15 Apr 2024 23:43:11 +0200
Ludovic Courtès <ludo <at> gnu.org> skribis:

>   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).

Rebased and pushed as 8a74bb8030f2433155f00332475fc21191ef2952.

Ludo’.


This bug report was last modified 1 year and 35 days ago.

Previous Next


GNU bug tracking system
Copyright (C) 1999 Darren O. Benham, 1997,2003 nCipher Corporation Ltd, 1994-97 Ian Jackson.