[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[bug#70770] [PATCH] deduplication: Detect holes and create sparse files.
From: |
Ludovic Courtès |
Subject: |
[bug#70770] [PATCH] deduplication: Detect holes and create sparse files. |
Date: |
Sat, 25 May 2024 17:00:31 +0200 |
User-agent: |
Gnus/5.13 (Gnus v5.13) |
Ludovic Courtès <ludo@gnu.org> skribis:
> This reduces disk usage of sparse files that are substituted such as
> Guile object files (ELF files). As of Guile 3.0.9, .go files are sparse
> due to ELF sections being aligned on 64 KiB boundaries.
>
> This reduces disk usage reported by “du -sh” by 9% for the ‘guix’
> package, by 23% for ‘guile’, and by 35% for ‘guile-git’.
>
> * guix/store/deduplication.scm (hole-size, find-holes): New procedures.
> (tee)[seekable?]: New variable.
> [read!]: Add case when SEEKABLE? is true.
> * tests/store-deduplication.scm (cartesian-product): New procedure.
> ("copy-file/deduplicate, sparse files (holes: ~a/~a/~a)"): New test set.
>
> Change-Id: Iad2ab7830dcb1220e2026f4a127a6c718afa8964
> ---
> guix/store/deduplication.scm | 79 ++++++++++++++++++++++++++++++++++-
> tests/store-deduplication.scm | 58 ++++++++++++++++++++++++-
> 2 files changed, 134 insertions(+), 3 deletions(-)
Pushed as 5a7cb59648d102168bd4ecd16f36b69e0f594be1.
We’ll have to update the ‘guix’ package for this to take effect.
Ludo’.