Subject: Re: bug#55721: Low cache usage in the presence of grafts

From: Ludovic Courtès <[email-masked]>
Date: Mon, 30 May 2022 16:38:52 +0200

I pushed a variant of the patch I sent as
1ae0e1dc29109cef20dbe9d26eb1c855694716b5.

What I get now is:

--8<---------------cut here---------------start------------->8---
$ guix gc -D $(guix build polkit --no-grafts)
finding garbage collector roots...
[0 MiB] deleting '/gnu/store/8vsfk8312m5p461wl4dq5lxjagfbwfhz-polkit-0.121'
deleting `/gnu/store/trash'
deleting unused links...
note: currently hard linking saves 72523.68 MiB
$ time GUIX_PROFILING="rpc reference-cache derivation-graft-cache" ./pre-inst-env  guix system vm gnu/system/examples/desktop.tmpl 
0.2 MB will be downloaded
 polkit-0.121  198KiB                                                                                1.4MiB/s 00:00 [##################] 100.0%
/gnu/store/cvfw1jlf9m60s4yjxhnjjv68rg59giag-run-vm.sh
guix system: warning: only 4.7 GiB of free space available on /gnu/store
hint: Consider deleting old profile generations and collecting garbage, along these lines:

     guix gc --delete-generations=1m

Reference Cache:
  fresh caches:     1
  lookups:      13997
  hits:         13091 (93.5%)
  cache size:     838 entries
Derivation graft cache:
  fresh caches:     5
  lookups:      117280
  hits:         103398 (88.2%)
  cache size:     430 entries
Remote procedure call summary: 9286 RPCs
  built-in-builders              ...     1
  query-substitutable-path-infos ...     2
  build-things                   ...     2
  add-to-store/tree              ...    56
  valid-path?                    ...    59
  add-to-store                   ...   373
  query-references               ...   906
  add-text-to-store              ...  7887

real	0m45.089s
user	1m5.976s
sys	0m0.433s
--8<---------------cut here---------------end--------------->8---

We’re still getting a few extra ‘query-references’ RPCs, but it’s much
better.

Ludo’.