nixpkgs/lib
pennae afecbb2f75 lib/modules: optimize byName
the foldl is equivalent to a zip with concat. list concatenation in nix
is an O(n) operation, which makes this operation extremely inefficient
when large numbers of modules are involved.

this change reduces the number of list elements by 7 million on the
system used to write this, total memory spent on lists by 58MB, and
total memory allocated on the GC heap by almost 100MB (with a similar
reduction in GC heap size). it's also slightly faster.
2021-12-25 00:19:44 +01:00
..
systems lib.systems.supported: remove aarch64-darwin from Tier 3 list 2021-12-16 17:51:21 +01:00
tests lib: fix flake check 2021-12-13 12:03:40 +01:00
asserts.nix
attrsets.nix lib: make extendDerivation lighter on eval 2021-10-15 16:39:10 +02:00
cli.nix lib/cli: mkKey -> mkOptionName, use generators.mkValueStringDefault 2020-01-23 14:47:38 +01:00
customisation.nix lib: make extendDerivation lighter on eval 2021-10-15 16:39:10 +02:00
debug.nix lib/debug: add traceFnSeqN 2021-01-25 19:25:50 +01:00
default.nix lib/meta: add getLicenseFromSpdxId function 2021-12-02 18:33:48 +08:00
deprecated.nix treewide: fold -> foldr 2021-01-26 10:57:07 +07:00
fetchers.nix
filesystem.nix lib: Add readTree function to filesystem 2020-10-19 16:42:21 -07:00
fixed-points.nix lib.compose{Many,}Extensions: Make compatible with nix flake check 2021-08-26 09:12:17 -04:00
flake.nix Fix import path. 2021-08-14 14:46:00 -05:00
generators.nix Merge pull request #131205 from Ma27/showdefs-overflow 2021-09-29 11:03:31 +02:00
kernel.nix Merge pull request #84032 from teto/fix_kernel_merge 2020-05-22 13:32:22 +02:00
licenses.nix licenses: add CAPEC 2021-10-15 23:10:34 +02:00
lists.nix lib/lists: mutuallyExclusive function optimization 2021-11-01 16:29:01 -04:00
meta.nix lib/meta: add getLicenseFromSpdxId function 2021-12-02 18:33:48 +08:00
minver.nix Bump minver.nix to 2.2 2020-06-04 13:43:10 +02:00
modules.nix lib/modules: optimize byName 2021-12-25 00:19:44 +01:00
options.nix modules: Add visible = "shallow" to hide only sub-options 2021-11-01 09:34:07 +01:00
sources.nix lib.cleanSource: ignore sockets 2021-09-17 10:03:00 +00:00
strings-with-deps.nix lib: Use Nix's static scope checking, fix error message, optimize 2020-10-22 13:46:47 +02:00
strings.nix lib: fix escapeXML example in documentation 2021-11-02 22:43:25 +01:00
trivial.nix add release notes for 22.05 and update codename 2021-11-22 15:10:53 -07:00
types.nix lib.evalModules: Add extendModules and type to result 2021-11-01 09:34:07 +01:00
versions.nix
zip-int-bits.nix