aboutsummaryrefslogtreecommitdiff
path: root/.gitignore
diff options
context:
space:
mode:
authorLudovic Courtès <ludo@gnu.org>2024-04-19 22:00:44 +0200
committerLudovic Courtès <ludo@gnu.org>2024-05-25 16:44:42 +0200
commit5a7cb59648d102168bd4ecd16f36b69e0f594be1 (patch)
treee29fb395373468bc9e041f8e39de7a30112cdfe9 /.gitignore
parent73b3f941d7d911a1b2bb2bf77d37cb3a12ed4291 (diff)
downloadguix-5a7cb59648d102168bd4ecd16f36b69e0f594be1.tar.gz
guix-5a7cb59648d102168bd4ecd16f36b69e0f594be1.zip
deduplication: Detect holes and create sparse files.
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
Diffstat (limited to '.gitignore')
0 files changed, 0 insertions, 0 deletions