mononoke: skiplist deserialization can move the Bytes

Summary:
No need to keep the Bytes live after compact_protocol::deserialize, can move them into it instead.

Makes it clearer bytes aren't reused, and should have some small effect on peak memory usage during deserialization by freeing the Bytes buffer earlier

Reviewed By: StanislavGlebik

Differential Revision: D31149815

fbshipit-source-id: 858914d2d8e3d91b5e863053dfeeb5d5ec37b9eb
This commit is contained in:
Alex Hornby 2021-09-24 09:38:51 -07:00 committed by Facebook GitHub Bot
parent aa85540932
commit 70da01aed3

View File

@ -137,7 +137,7 @@ pub fn deserialize_skiplist_index(logger: Logger, bytes: Bytes) -> Result<Skipli
}
fn deserialize_skiplist_mapping(logger: Logger, bytes: Bytes) -> Result<SkiplistEdgeMapping> {
let map: HashMap<_, skiplist_thrift::SkiplistNodeType> = compact_protocol::deserialize(&bytes)?;
let map: HashMap<_, skiplist_thrift::SkiplistNodeType> = compact_protocol::deserialize(bytes)?;
let cmap: DashMap<ChangesetId, SkiplistNodeType> = DashMap::with_capacity(map.len());
let mut pnodecount = 0;
let mut snodecount = 0;