diff --git a/crates/runner-shared/src/artifacts/memtrack/mod.rs b/crates/runner-shared/src/artifacts/memtrack/mod.rs index 7560ec9c..226d5750 100644 --- a/crates/runner-shared/src/artifacts/memtrack/mod.rs +++ b/crates/runner-shared/src/artifacts/memtrack/mod.rs @@ -24,12 +24,15 @@ impl super::ArtifactExt for MemtrackArtifact { } impl MemtrackArtifact { + /// The msgpack decoder reads a few bytes per call, so the decompressed + /// stream is buffered rather than read straight from the zstd decoder. + #[allow(clippy::type_complexity)] pub fn decode_streamed( reader: R, - ) -> anyhow::Result>>> { + ) -> anyhow::Result>>>> { let decoder = zstd::Decoder::new(reader)?; Ok(MemtrackEventStream { - deserializer: rmp_serde::Deserializer::new(decoder), + deserializer: rmp_serde::Deserializer::new(BufReader::new(decoder)), }) }