diff options
-rw-r--r-- | src/runner/runc/run.rs | 5 |
1 files changed, 4 insertions, 1 deletions
diff --git a/src/runner/runc/run.rs b/src/runner/runc/run.rs index f12e91f..76c8bc1 100644 --- a/src/runner/runc/run.rs +++ b/src/runner/runc/run.rs @@ -1,5 +1,6 @@ use std::{ collections::HashMap, + io::BufWriter, path::{Path, PathBuf}, process, }; @@ -166,8 +167,10 @@ fn collect_one_output(task: &runner::Task, path: &str) -> Result<Option<ArchiveH let file = fs::create(&filename)?; let hasher = ArchiveHasher::new(); let writer = TeeWriter::new(file, hasher); + let buffered_writer = BufWriter::with_capacity(16 * 1024 * 1024, writer); - let writer = tar::pack(writer, &source, ["."])?; + let buffered_writer = tar::pack(buffered_writer, &source, ["."])?; + let writer = buffered_writer.into_inner()?; let (file, hasher) = writer.into_inner(); file.sync_all()?; drop(file); |