diff options
author | pennae <github@quasiparticle.net> | 2021-12-24 22:36:08 +0100 |
---|---|---|
committer | pennae <github@quasiparticle.net> | 2021-12-25 00:19:44 +0100 |
commit | afecbb2f7534a0530fc0da53af74d0bb85697d36 (patch) | |
tree | d4630bd58e384297ed065e51a1ffa5ef5023d02a /lib/attrsets.nix | |
parent | b3c4e64b31b2e5cc1f28eae9098bbc5fec0f4069 (diff) |
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.
Diffstat (limited to 'lib/attrsets.nix')
0 files changed, 0 insertions, 0 deletions