Buffer output when codegening files
diff --git a/codegen/src/file.rs b/codegen/src/file.rs
index c28f2d9..da7aabe 100644
--- a/codegen/src/file.rs
+++ b/codegen/src/file.rs
@@ -1,11 +1,11 @@
 use crate::error::Result;
 use proc_macro2::TokenStream;
 use std::fs::File;
-use std::io::Write;
+use std::io::{BufWriter, Write};
 use std::path::Path;
 
 pub fn write<P: AsRef<Path>>(path: P, content: TokenStream) -> Result<()> {
-    let mut file = File::create(path)?;
+    let mut file = File::create(path).map(BufWriter::new)?;
     write!(
         file,
         "// THIS FILE IS AUTOMATICALLY GENERATED; DO NOT EDIT\n\n"