Patch copied from Debian: https://anonscm.debian.org/cgit/pkg-games/lierolibre.git/tree/debian/patches/0001-Use-unaligned-access-define-over-checking-arch.patch?id=82910748906855f6e6bfe30b3f077e8c793ae424 From 396f19b6b7743d394307f70f0c0108419824437b Mon Sep 17 00:00:00 2001 From: Martin Erik Werner Date: Sun, 28 Jun 2015 16:31:34 +0200 Subject: [PATCH 1/3] Use unaligned access define over checking arch This todo item seems like it done, and just needed implementing... --- io/encoding.hpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/gvl/io/encoding.hpp b/src/gvl/io/encoding.hpp index c491677..89bb612 100644 --- a/src/gvl/io/encoding.hpp +++ b/src/gvl/io/encoding.hpp @@ -374,7 +374,7 @@ struct octet_stream_writer // inlining of the common case if(std::size_t(end_ - cur_) >= len) { -#if GVL_X86 || GVL_X86_64 // TODO: A define that says whether unaligned access is allowed +#if GVL_UNALIGNED_ACCESS if(len < 64) // TODO: Tweak this limit { while(len > 4) -- 2.4.6 href='/guix/refs/?id=a284e56de44717f1ad4aa884a1777441324738f2'>refslogtreecommitdiff
path: root/nix/libstore/gc.cc
AgeCommit message (Expand)Author
2021-11-16daemon: Do not deduplicate files smaller than 8 KiB....Files smaller than 8 KiB typically represent ~70% of the entries in /gnu/store/.links but only contribute to ~4% of the space savings afforded by deduplication. Not considering these files for deduplication speeds up file insertion in the store and, more importantly, leaves 'removeUnusedLinks' with fewer entries to traverse, thereby speeding it up proportionally. Partly fixes <https://issues.guix.gnu.org/24937>. * config-daemon.ac: Remove symlink hard link check and CAN_LINK_SYMLINK definition. * guix/store/deduplication.scm (%deduplication-minimum-size): New variable. (deduplicate)[loop]: Do not recurse when FILE's size is below %DEDUPLICATION-MINIMUM-SIZE. (dump-port): New procedure. (dump-file/deduplicate)[hash]: Turn into... [dump-and-compute-hash]: ... this thunk. Call 'deduplicate' only when SIZE is greater than %DEDUPLICATION-MINIMUM-SIZE; otherwise call 'dump-port'. * nix/libstore/gc.cc (LocalStore::removeUnusedLinks): Drop files where st.st_size < deduplicationMinSize. * nix/libstore/local-store.hh (deduplicationMinSize): New declaration. * nix/libstore/optimise-store.cc (deduplicationMinSize): New variable. (LocalStore::optimisePath_): Return when PATH is a symlink or smaller than 'deduplicationMinSize'. * tests/derivations.scm ("identical files are deduplicated"): Produce files bigger than %DEDUPLICATION-MINIMUM-SIZE. * tests/nar.scm ("restore-file-set with directories (signed, valid)"): Likewise. * tests/store-deduplication.scm ("deduplicate, below %deduplication-minimum-size"): New test. ("deduplicate", "deduplicate, ENOSPC"): Produce files bigger than %DEDUPLICATION-MINIMUM-SIZE. * tests/store.scm ("substitute, deduplication"): Likewise. Ludovic Courtès