[Top][All Lists]

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[bug#43340] [PATCH 0/5] Speed up archive export/import

From: Ludovic Courtès
Subject: [bug#43340] [PATCH 0/5] Speed up archive export/import
Date: Fri, 11 Sep 2020 16:40:49 +0200


This patch series goes on top of <>.
It addresses the performance issue described at:

Specifically, it implements option #4 (spawning ‘guix authenticate’
once for the whole session, instead of spawning it every time a
store item needs to be signed or authenticated), achieving a ~15x
speedup, which is not bad.  :-)

There’s way more C++ code than I would like, and it’s probably not
pretty code (I always end up typing things like “C++ list append”
in a search engine to find the obscure incantation that does that).
There’s now a query/reply protocol between the daemon and ‘guix
authenticate’.  Nothing fancy, but it allows for strings that contain
whitespace or newlines, which is necessary here.

That’s it!


Ludovic Courtès (5):
  daemon: Generalize 'HookInstance' to 'Agent'.
  daemon: Isolate signing and signature verification functions.
  daemon: Move 'Agent' to libutil.
  daemon: Spawn 'guix authenticate' once for all.
  authenticate: Cache the ACL and key pairs.

 guix/scripts/authenticate.scm | 163 ++++++++++++++++++++++++++--------
 nix/libstore/         | 146 +++++-------------------------
 nix/libstore/   | 103 +++++++++++++++++----
 nix/libutil/           |  84 ++++++++++++++++++
 nix/libutil/util.hh           |  25 ++++++
 tests/    |  45 ++++++----
 tests/store.scm               |   8 +-
 7 files changed, 372 insertions(+), 202 deletions(-)


reply via email to

[Prev in Thread] Current Thread [Next in Thread]