aboutsummaryrefslogtreecommitdiff
path: root/src/libstore/nar-info.cc
diff options
context:
space:
mode:
authorEelco Dolstra <edolstra@gmail.com>2020-06-16 14:16:39 +0200
committerEelco Dolstra <edolstra@gmail.com>2020-06-16 14:28:41 +0200
commit759947bf72c134592f0ce23d385e48095bd0a301 (patch)
tree98868cbafb2baa1d369cf2a1464e9fa4805ab3a7 /src/libstore/nar-info.cc
parent72e17290d457a8e911f126d21b74c315b034189d (diff)
StorePath: Rewrite in C++
On nix-env -qa -f '<nixpkgs>', this reduces maximum RSS by 20970 KiB and runtime by 0.8%. This is mostly because we're not parsing the hash part as a hash anymore (just validating that it consists of base-32 characters). Also, replace storePathToHash() by StorePath::hashPart().
Diffstat (limited to 'src/libstore/nar-info.cc')
-rw-r--r--src/libstore/nar-info.cc4
1 files changed, 2 insertions, 2 deletions
diff --git a/src/libstore/nar-info.cc b/src/libstore/nar-info.cc
index 232284723..d7fc30e91 100644
--- a/src/libstore/nar-info.cc
+++ b/src/libstore/nar-info.cc
@@ -56,11 +56,11 @@ NarInfo::NarInfo(const Store & store, const std::string & s, const std::string &
auto refs = tokenizeString<Strings>(value, " ");
if (!references.empty()) corrupt();
for (auto & r : refs)
- references.insert(StorePath::fromBaseName(r));
+ references.insert(StorePath(r));
}
else if (name == "Deriver") {
if (value != "unknown-deriver")
- deriver = StorePath::fromBaseName(value);
+ deriver = StorePath(value);
}
else if (name == "System")
system = value;