‘guix system vm-image’ spends a very long time “registering closures”
(address . bug-guix@gnu.org)(name . Leo Famulari)(address . leo@famulari.name)
Hi,
A couple of days ago, Leo reported that ‘guix system vm-image’ spends a
very long time in the “registering closures” phase:
Toggle snippet (35 lines)
<lfam> I wonder about the slowness of 'registering closures' with `guix system
vm-image` and similiar commands. I don't remember this taking so long
in the past [22:52]
[...]
<lfam> Created a bare-bones VM takes ~90 minutes for me recently
<lfam> s/Created/Creating
<civodul> with vm-image?
<lfam> Yes
[...]
<lfam> With #:reset-timestamps #f, I cancelled the task after 10 minutes of
'registering closures' [23:33]
[...]
<civodul> lfam: i added some pk's and it seems that it's deduplucation that's
killing us [00:41]
<civodul> because it involves retraversing each store item and reading each
file [00:42]
<lfam> It does it for each file?
<lfam> Or, you could just point me to the relevant code so I can learn it :)
<civodul> yeah, it has to read them to be able to determine if there are
duplicates
<civodul> (guix store database) calls the deduplication code [00:43]
<civodul> which is in (guix store deduplication)
<civodul> (reepca's code from last year's GSoC)
<civodul> maybe c45477d2a1a651485feede20fe0f3d15aec48b39 or something close
inadvertently turned on deduplication [00:44]
<civodul> so in (gnu system vm), we could pass #:deduplicate? #f to
'root-partition-initializer'
Ludo’.