From de9404feda611d4f093fbbcc398bd56e54add8ea Mon Sep 17 00:00:00 2001 From: Jiahao XU Date: Fri, 22 Jul 2022 01:37:27 +1000 Subject: [PATCH] Optimize `Crates2Json`: Use `String` as key to avoid cost of deserializing (`CrateVersionSource::from_str`). Signed-off-by: Jiahao XU --- src/metafiles/v2.rs | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/metafiles/v2.rs b/src/metafiles/v2.rs index c7d0f337..0db24f14 100644 --- a/src/metafiles/v2.rs +++ b/src/metafiles/v2.rs @@ -12,7 +12,7 @@ use super::CrateVersionSource; #[derive(Clone, Debug, Default, Deserialize, Serialize)] pub struct Crates2Json { - pub installs: BTreeMap, + pub installs: BTreeMap, } #[derive(Clone, Debug, Default, Deserialize, Serialize)] @@ -52,7 +52,7 @@ impl Crates2Json { } pub fn insert(&mut self, cvs: CrateVersionSource, info: CrateInfo) { - self.installs.insert(cvs, info); + self.installs.insert(cvs.to_string(), info); } pub fn write(&self) -> Result<(), Crates2JsonParseError> {