From: Raph Levien Date: Thu, 26 Jan 2017 21:12:14 +0000 (-0800) Subject: Buffer file writing for dep-info X-Git-Tag: archive/raspbian/0.35.0-2+rpi1~3^2^2^2^2^2^2^2~22^2~11^2~12^2~2 X-Git-Url: https://dgit.raspbian.org/?a=commitdiff_plain;h=abf8e35611d9681dfa8cae3d296b2ac28209be35;p=cargo.git Buffer file writing for dep-info Use BufWriter when generating .d files with dep-info, to avoid excessive numbers of write syscalls. --- diff --git a/src/cargo/ops/cargo_rustc/output_depinfo.rs b/src/cargo/ops/cargo_rustc/output_depinfo.rs index add28e023..5ed98eb11 100644 --- a/src/cargo/ops/cargo_rustc/output_depinfo.rs +++ b/src/cargo/ops/cargo_rustc/output_depinfo.rs @@ -1,5 +1,5 @@ use std::collections::HashSet; -use std::io::Write; +use std::io::{Write, BufWriter}; use std::fs::File; use std::path::{Path, PathBuf}; @@ -53,7 +53,7 @@ pub fn output_depinfo<'a, 'b>(context: &mut Context<'a, 'b>, unit: &Unit<'a>) -> if let Some(link_dst) = link_dst { let output_path = link_dst.with_extension("d"); let target_fn = render_filename(link_dst, basedir)?; - let mut outfile = File::create(output_path)?; + let mut outfile = BufWriter::new(File::create(output_path)?); write!(outfile, "{}:", target_fn)?; for dep in &deps { write!(outfile, " {}", render_filename(dep, basedir)?)?;