1
0
mirror of https://git.savannah.gnu.org/git/guix.git synced 2026-04-06 21:20:33 +02:00
Files
guix/tests
Ludovic Courtès 5a7cb59648 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
2024-05-25 16:44:42 +02:00
..
2020-12-21 17:47:35 +01:00
2022-05-22 01:07:52 +02:00
2020-12-09 22:25:17 +01:00
2021-04-12 18:42:22 +02:00
2023-06-09 14:19:14 +02:00
2021-12-23 10:54:00 +01:00
2022-09-29 22:59:48 +02:00
2023-02-19 21:13:23 -05:00
2023-05-18 20:01:32 +02:00