1
0
Fork 0
mirror of https://github.com/NixOS/nix synced 2024-09-20 11:11:03 -04:00
nix/src
Ben Radford 6a8de4c9dc Avoid enumerating entire overlay store dir upfront.
As an optimisation for LocalStore, we read all the store directory entries into
a set. Checking for membership of this set is much faster than a stat syscall.
However for LocalOverlayStore, the lower store directory is expected to contain
a vast number of entries and reading them all can take a very long time.

So instead of enumerating them all upfront, we call pathExists as needed. This
means making stat syscalls for each store path, but the upper layer is expected
to be relatively small compared to the lower store so that should be okay.
2023-08-01 12:48:02 +01:00
..
build-remote Put worker protocol items inside a WorkerProto struct 2023-06-19 12:08:23 -04:00
libcmd Tighten #includes: DerivedPath doesn't care about Realisation 2023-07-20 15:42:06 -04:00
libexpr Merge pull request #8664 from ncfavier/merge-dynamic-attrs 2023-07-23 11:03:38 -04:00
libfetchers Simplify ContentAddress 2023-07-07 07:30:01 -04:00
libmain nix: Support the --repair flag 2023-04-28 17:03:04 +02:00
libstore Avoid enumerating entire overlay store dir upfront. 2023-08-01 12:48:02 +01:00
libutil Merge pull request #8374 from obsidiansystems/improve-path-setting 2023-06-21 15:40:43 -04:00
nix Merge pull request #8650 from obsidiansystems/content-address-simpler 2023-07-21 13:46:53 +02:00
nix-build nix: Support the --repair flag 2023-04-28 17:03:04 +02:00
nix-channel Add nix-channel --list-generations 2023-06-02 10:12:35 +02:00
nix-collect-garbage Clean up a few things related to profiles (#8526) 2023-06-19 04:04:59 +00:00
nix-copy-closure Remove FormatOrString and remaining uses of format() 2023-03-02 15:57:54 +01:00
nix-env Clean up a few things related to profiles (#8526) 2023-06-19 04:04:59 +00:00
nix-instantiate nix: Support the --repair flag 2023-04-28 17:03:04 +02:00
nix-store Simplify ContentAddress 2023-07-07 07:30:01 -04:00
resolve-system-dependencies Remove FormatOrString and remaining uses of format() 2023-03-02 15:57:54 +01:00
toml11