mirror of
https://github.com/servo/servo.git
synced 2025-06-25 17:44:33 +01:00
Auto merge of #16035 - emilio:parallel-log-no-fun, r=upsuper
stylo: Sequentialize binding generation if logging is enabled. Otherwise the log is useless, and it's even slower than in parallel mode due to the high lock contention. <!-- Reviewable:start --> --- This change is [<img src="https://reviewable.io/review_button.svg" height="34" align="absmiddle" alt="Reviewable"/>](https://reviewable.io/reviews/servo/servo/16035) <!-- Reviewable:end -->
This commit is contained in:
commit
9fdebf0934
1 changed files with 14 additions and 9 deletions
|
@ -772,17 +772,22 @@ mod bindings {
|
||||||
|
|
||||||
pub fn generate() {
|
pub fn generate() {
|
||||||
use self::common::*;
|
use self::common::*;
|
||||||
use std::fs;
|
use std::{env, fs, thread};
|
||||||
use std::thread;
|
|
||||||
println!("cargo:rerun-if-changed=build_gecko.rs");
|
println!("cargo:rerun-if-changed=build_gecko.rs");
|
||||||
fs::create_dir_all(&*OUTDIR_PATH).unwrap();
|
fs::create_dir_all(&*OUTDIR_PATH).unwrap();
|
||||||
bindings::setup_logging();
|
bindings::setup_logging();
|
||||||
let threads = vec![
|
if env::var("STYLO_BUILD_LOG").is_ok() {
|
||||||
thread::spawn(|| bindings::generate_structs(BuildType::Debug)),
|
bindings::generate_structs(BuildType::Debug);
|
||||||
thread::spawn(|| bindings::generate_structs(BuildType::Release)),
|
bindings::generate_structs(BuildType::Release);
|
||||||
thread::spawn(|| bindings::generate_bindings()),
|
bindings::generate_bindings();
|
||||||
];
|
} else {
|
||||||
for t in threads.into_iter() {
|
let threads = vec![
|
||||||
t.join().unwrap();
|
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();
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue