[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[bug#45253] [PATCH 0/6] Pipeline substitute integrity check, deduplicati
From: |
Maxim Cournoyer |
Subject: |
[bug#45253] [PATCH 0/6] Pipeline substitute integrity check, deduplication, and canonicalization |
Date: |
Fri, 18 Dec 2020 21:07:50 -0500 |
User-agent: |
Gnus/5.13 (Gnus v5.13) Emacs/27.1 (gnu/linux) |
Hey Ludo,
Ludovic Courtès <ludo@gnu.org> writes:
> Ludovic Courtès <ludo@gnu.org> skribis:
>
>> I tested with substitutes that contain many files:
>>
>> guix build pipewire@0.2 ffmpeg ungoogled-chromium vim-full \
>> emacs-no-x emacs-no-x-toolkit
>>
>> On my laptop with an SSD, the wall-clock time is almost unchanged
>> when fetching lzip substitutes. You can see that the throughput
>> displayed while downloading is slightly lower than before, which
>> is consistent because lzip downloads are CPU-bound¹, but this is
>> compensated by the lack of processing time between substitutes.
>> With gzip substitutes, I see a 10% speedup on the wall-clock time
>> on my laptop.
>
> Picture! First the timechart with the current daemon (gzip
> substitutes, downloading from the LAN):
>
>
>
>
> Notice how guix-daemon is busy in between substitute downloads: that’s
> the time it takes to compute the nar hash of the store item, reset its
> timestamps, and deduplicate its files.
>
> Now the same operation after with this patch series:
>
>
>
>
> This time guix-daemon remains idle all along whereas ‘guix substitute’
> is almost 100% busy. There’s no pause time between substitutes.
>
> Ludo’.
Very nice! Thanks for this work! I can't wait to try it.
Maxim
- [bug#45253] [PATCH 0/6] Pipeline substitute integrity check, deduplication, and canonicalization, Ludovic Courtès, 2020/12/15
- [bug#45253] [PATCH 1/6] tests: Check the build trace for hash mismatches on substitutes., Ludovic Courtès, 2020/12/15
- [bug#45253] [PATCH 5/6] tests: Make sure substituted items are deduplicated., Ludovic Courtès, 2020/12/15
- [bug#45253] [PATCH 4/6] daemon: Do not reset timestamps and permissions on substituted items., Ludovic Courtès, 2020/12/15
- [bug#45253] [PATCH 6/6] daemon: Delegate deduplication to 'guix substitute'., Ludovic Courtès, 2020/12/15
- [bug#45253] [PATCH 3/6] tests: Check the mtime and permissions of substituted items., Ludovic Courtès, 2020/12/15
- [bug#45253] [PATCH 2/6] daemon: Let 'guix substitute' perform hash checks., Ludovic Courtès, 2020/12/15
- [bug#45253] [PATCH 0/6] Pipeline substitute integrity check, deduplication, and canonicalization, Ludovic Courtès, 2020/12/15
- [bug#45253] [PATCH 0/6] Pipeline substitute integrity check, deduplication, and canonicalization,
Maxim Cournoyer <=
- bug#45253: [PATCH 0/6] Pipeline substitute integrity check, deduplication, and canonicalization, Ludovic Courtès, 2020/12/19