summaryrefslogtreecommitdiffstats
path: root/pkgs/tools/typesetting
diff options
context:
space:
mode:
authoradisbladis <adisbladis@gmail.com>2020-11-24 15:29:28 +0100
committeradisbladis <adisbladis@gmail.com>2020-11-24 15:40:22 +0100
commitce84cc06bf3a6311c67e73b6675fc5c1317dec23 (patch)
tree7c7ffd2e3f244867d6cd40af393cdb9ab3d87594 /pkgs/tools/typesetting
parentfbeebf8b49daf2ad873a3657e9ec312339b7dc42 (diff)
texlive: Use lib.unique for uniqueness checks
In 85605c8a296bd54e9c12e1bd1c33bf1e100d40b7 we got a really nice performance improvement. By using this implementation for texlive instantiation RSS is cut by ~2.6x with a similar wall time speedup.
Diffstat (limited to 'pkgs/tools/typesetting')
-rw-r--r--pkgs/tools/typesetting/tex/texlive/combine.nix8
1 files changed, 1 insertions, 7 deletions
diff --git a/pkgs/tools/typesetting/tex/texlive/combine.nix b/pkgs/tools/typesetting/tex/texlive/combine.nix
index fb3e6668a47c..891495c46cac 100644
--- a/pkgs/tools/typesetting/tex/texlive/combine.nix
+++ b/pkgs/tools/typesetting/tex/texlive/combine.nix
@@ -31,13 +31,7 @@ let
++ lib.optional (lib.any pkgNeedsRuby splitBin.wrong) ruby;
};
- # TODO: replace by buitin once it exists
- fastUnique = comparator: list: with lib;
- let un_adj = l: if length l < 2 then l
- else optional (head l != elemAt l 1) (head l) ++ un_adj (tail l);
- in un_adj (lib.sort comparator list);
-
- uniqueStrings = fastUnique (a: b: a < b);
+ uniqueStrings = list: lib.sort (a: b: a < b) (lib.unique list);
mkUniqueOutPaths = pkgs: uniqueStrings
(map (p: p.outPath) (builtins.filter lib.isDerivation pkgs));