summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorColin Walters <walters@verbum.org>2024-11-07 19:45:30 -0500
committerKent Overstreet <kent.overstreet@linux.dev>2024-11-07 19:51:33 -0500
commit979ec091b54851e8a9f7a74e610fb8471fffe2dd (patch)
treeca6ce23e62b78a525ca6c946a5a94375e71fe1df
parent64f3fa4d4a02de9df46b8d1ecf6d414e2062aa52 (diff)
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 <kent.overstreet@linux.dev>
-rw-r--r--src/lib.rs5
1 files 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(())