unofficial mirror of guix-patches@gnu.org 
 help / color / mirror / code / Atom feed
* [bug#43340] [PATCH 0/5] Speed up archive export/import
@ 2020-09-11 14:40 Ludovic Courtès
  2020-09-11 14:51 ` [bug#43340] [PATCH 1/5] daemon: Generalize 'HookInstance' to 'Agent' Ludovic Courtès
  2020-09-11 15:01 ` [bug#43340] [PATCH 0/5] Speed up archive export/import Ludovic Courtès
  0 siblings, 2 replies; 12+ messages in thread
From: Ludovic Courtès @ 2020-09-11 14:40 UTC (permalink / raw)
  To: 43340; +Cc: Ludovic Courtès

Hi!

This patch series goes on top of <https://issues.guix.gnu.org/43285>.
It addresses the performance issue described at:

  https://lists.gnu.org/archive/html/guix-devel/2020-09/msg00073.html

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!

Ludo’.

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/build.cc         | 146 +++++-------------------------
 nix/libstore/local-store.cc   | 103 +++++++++++++++++----
 nix/libutil/util.cc           |  84 ++++++++++++++++++
 nix/libutil/util.hh           |  25 ++++++
 tests/guix-authenticate.sh    |  45 ++++++----
 tests/store.scm               |   8 +-
 7 files changed, 372 insertions(+), 202 deletions(-)

-- 
2.28.0





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

end of thread, other threads:[~2020-09-14 13:51 UTC | newest]

Thread overview: 12+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2020-09-11 14:40 [bug#43340] [PATCH 0/5] Speed up archive export/import Ludovic Courtès
2020-09-11 14:51 ` [bug#43340] [PATCH 1/5] daemon: Generalize 'HookInstance' to 'Agent' Ludovic Courtès
2020-09-11 14:51   ` [bug#43340] [PATCH 2/5] daemon: Isolate signing and signature verification functions Ludovic Courtès
2020-09-11 14:51   ` [bug#43340] [PATCH 3/5] daemon: Move 'Agent' to libutil Ludovic Courtès
2020-09-12  7:21     ` Mathieu Othacehe
2020-09-11 14:51   ` [bug#43340] [PATCH 4/5] daemon: Spawn 'guix authenticate' once for all Ludovic Courtès
2020-09-12  7:20     ` Mathieu Othacehe
2020-09-11 14:51   ` [bug#43340] [PATCH 5/5] authenticate: Cache the ACL and key pairs Ludovic Courtès
2020-09-11 15:01 ` [bug#43340] [PATCH 0/5] Speed up archive export/import Ludovic Courtès
2020-09-12  7:12   ` Mathieu Othacehe
2020-09-13 13:07     ` Ludovic Courtès
2020-09-14 13:47     ` bug#43340: " Ludovic Courtès

Code repositories for project(s) associated with this public inbox

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

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).