From 979ec091b54851e8a9f7a74e610fb8471fffe2dd Mon Sep 17 00:00:00 2001 From: Colin Walters Date: Thu, 7 Nov 2024 19:45:30 -0500 Subject: Use a BufWriter The docs for `serialize::write_message` recommend this and it is a general performance pitfall in Rust to forget buffering. Also, `into_inner()` here for checking errors is more idiomatic than `drop()`. Signed-off-by: Kent Overstreet --- src/lib.rs | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/src/lib.rs b/src/lib.rs index 63d6ade..f82501e 100644 --- a/src/lib.rs +++ b/src/lib.rs @@ -171,10 +171,9 @@ fn results_to_capnp(ktestrc: &Ktestrc, commit_id: &str, results_in: &TestResults let fname = ktestrc.output_dir.join(format!("{commit_id}.capnp")); let fname_new = ktestrc.output_dir.join(format!("{commit_id}.capnp.new")); - let mut out = File::create(&fname_new)?; - + let mut out = File::create(&fname_new).map(std::io::BufWriter::new)?; serialize::write_message(&mut out, &message)?; - drop(out); + out.into_inner()?; std::fs::rename(fname_new, fname)?; Ok(()) -- cgit v1.2.3