From cbfe1832c5eb03a365b589081e0579992cd69b50 Mon Sep 17 00:00:00 2001 From: Xidorn Quan Date: Thu, 15 Dec 2016 18:03:44 +1100 Subject: [PATCH] Parallelize build-time bindgen --- components/style/build_gecko.rs | 12 +++++++++--- 1 file changed, 9 insertions(+), 3 deletions(-) diff --git a/components/style/build_gecko.rs b/components/style/build_gecko.rs index 193be7b2744..95abbd40186 100644 --- a/components/style/build_gecko.rs +++ b/components/style/build_gecko.rs @@ -617,8 +617,14 @@ mod bindings { pub fn generate() { use self::common::*; use std::fs; + use std::thread; fs::create_dir_all(&*OUTDIR_PATH).unwrap(); - bindings::generate_structs(BuildType::Debug); - bindings::generate_structs(BuildType::Release); - bindings::generate_bindings(); + let threads = vec![ + thread::spawn(|| bindings::generate_structs(BuildType::Debug)), + thread::spawn(|| bindings::generate_structs(BuildType::Release)), + thread::spawn(|| bindings::generate_bindings()), + ]; + for t in threads.into_iter() { + t.join().unwrap(); + } }