Subject: bug#48806: closed (Re: bug#48806: [PATCH 0/7] Generalized cache support and improved graft caching)

From: [email-masked] (GNU bug Tracking System)
Date: Tue, 08 Jun 2021 07:35:01 +0000

Your bug report

#48806: [PATCH 0/7] Generalized cache support and improved graft caching

which was filed against the guix-patches package, has been closed.

The explanation is attached below, along with your original report.
If you require more details, please reply to [email-masked].

-- 
48806: http://debbugs.gnu.org/cgi/bugreport.cgi?bug=48806
GNU Bug Tracking System
Contact [email-masked] with problems

Subject: Re: bug#48806: [PATCH 0/7] Generalized cache support and improved graft caching
From: Ludovic Courtès <[email-masked]>
To: Lars-Dominik Braun <[email-masked]>
Cc: [email-masked]
Date: Tue, 08 Jun 2021 09:34:30 +0200
List-Id: <debbugs-submit.debbugs.gnu.org>

Hi,

Lars-Dominik Braun <[email-masked]> skribis:

>> Feedback welcome, including performance reports!
> I can confirm this further improves the situation around `guix
> environment --ad-hoc r-learnr`. The additive behavior from my initial
> report is also gone for r-learnr and r-stm, but not for r-learnr and
> jupyter. I’m assuming the last two don’t share alot of grafts/packages
> and thus don’t benefit from caching.

Pushed as 0c109026093e6fa8730efe0d7454656275d6efe3!

Thanks,
Ludo’.

Subject: [PATCH 0/7] Generalized cache support and improved graft caching
From: Ludovic Courtès <[email-masked]>
To: [email-masked]
Cc: Ludovic Courtès <[email-masked]>
Date: Thu, 3 Jun 2021 09:29:58 +0200
List-Id: <debbugs-submit.debbugs.gnu.org>

Hi!

This patch series allows us to dynamically allocate per-store-connection
caches, such that subsequently created <store-connection> records
can have the newly allocated caches.

So far there were a couple of per-connection caches; for anything else,
we’d resort to global hash tables.  That’s not great because those caches
are usually valid only for one connection to a store, and only for the
duration of that session.  This new feature addresses that.

The last patch uses it to have session-wide caches mapping derivations
to applicable grafts, which partly addresses the performance problems
described in <https://issues.guix.gnu.org/41702>.

Feedback welcome, including performance reports!

Thanks,
Ludo’.

Ludovic Courtès (7):
  store: Support dynamic allocation of per-connection caches.
  store: Generalize cache lookup recording.
  grafts: Record cache lookups for profiling.
  grafts: Use SRFI-71 instead of SRFI-11.
  store: Remove 'references/substitutes'.
  store: 'references/cached' now uses a per-session cache.
  grafts: Cache the derivation/graft mapping for the whole session.

 guix/grafts.scm |  56 ++++++++-----
 guix/store.scm  | 205 ++++++++++++++++++++++++++----------------------
 tests/store.scm |  36 ---------
 3 files changed, 150 insertions(+), 147 deletions(-)

-- 
2.31.1