From 59257e6e88cc09697642cce889445d0fd6572ec1 Mon Sep 17 00:00:00 2001 From: Mazdak Farrokhzad Date: Sat, 23 Nov 2019 07:06:27 +0100 Subject: [PATCH] make `./x.py bench` again --- src/libcore/benches/num/mod.rs | 4 +- src/librustc/benches/dispatch.rs | 34 ----------- src/librustc/benches/lib.rs | 61 +++++++++++++++++++- src/librustc/benches/pattern.rs | 25 -------- src/librustc_codegen_ssa/back/rpath/tests.rs | 4 +- 5 files changed, 63 insertions(+), 65 deletions(-) delete mode 100644 src/librustc/benches/dispatch.rs delete mode 100644 src/librustc/benches/pattern.rs diff --git a/src/libcore/benches/num/mod.rs b/src/libcore/benches/num/mod.rs index f5c49ea5bf0..2dcdf2b6fe9 100644 --- a/src/libcore/benches/num/mod.rs +++ b/src/libcore/benches/num/mod.rs @@ -35,7 +35,7 @@ fn $mac(b: &mut Bencher) { .iter() .cycle() .take(5_000) - .filter_map(|s| <($t)>::from_str(s).ok()) + .filter_map(|s| <$t>::from_str(s).ok()) .max() }) } @@ -51,7 +51,7 @@ fn $mac(b: &mut Bencher) { .iter() .cycle() .take(5_000) - .filter_map(|s| <($t)>::from_str_radix(s, $radix).ok()) + .filter_map(|s| <$t>::from_str_radix(s, $radix).ok()) .max() }) } diff --git a/src/librustc/benches/dispatch.rs b/src/librustc/benches/dispatch.rs deleted file mode 100644 index e3b36be5696..00000000000 --- a/src/librustc/benches/dispatch.rs +++ /dev/null @@ -1,34 +0,0 @@ -use test::Bencher; - -// Static/dynamic method dispatch - -struct Struct { - field: isize -} - -trait Trait { - fn method(&self) -> isize; -} - -impl Trait for Struct { - fn method(&self) -> isize { - self.field - } -} - -#[bench] -fn trait_vtable_method_call(b: &mut Bencher) { - let s = Struct { field: 10 }; - let t = &s as &Trait; - b.iter(|| { - t.method() - }); -} - -#[bench] -fn trait_static_method_call(b: &mut Bencher) { - let s = Struct { field: 10 }; - b.iter(|| { - s.method() - }); -} diff --git a/src/librustc/benches/lib.rs b/src/librustc/benches/lib.rs index 0f81586d3bd..6b624028896 100644 --- a/src/librustc/benches/lib.rs +++ b/src/librustc/benches/lib.rs @@ -1,6 +1,63 @@ +#![feature(slice_patterns)] #![feature(test)] extern crate test; -mod dispatch; -mod pattern; +use test::Bencher; + +// Static/dynamic method dispatch + +struct Struct { + field: isize +} + +trait Trait { + fn method(&self) -> isize; +} + +impl Trait for Struct { + fn method(&self) -> isize { + self.field + } +} + +#[bench] +fn trait_vtable_method_call(b: &mut Bencher) { + let s = Struct { field: 10 }; + let t = &s as &dyn Trait; + b.iter(|| { + t.method() + }); +} + +#[bench] +fn trait_static_method_call(b: &mut Bencher) { + let s = Struct { field: 10 }; + b.iter(|| { + s.method() + }); +} + +// Overhead of various match forms + +#[bench] +fn option_some(b: &mut Bencher) { + let x = Some(10); + b.iter(|| { + match x { + Some(y) => y, + None => 11 + } + }); +} + +#[bench] +fn vec_pattern(b: &mut Bencher) { + let x = [1,2,3,4,5,6]; + b.iter(|| { + match x { + [1,2,3,..] => 10, + _ => 11, + } + }); +} diff --git a/src/librustc/benches/pattern.rs b/src/librustc/benches/pattern.rs deleted file mode 100644 index fd8cc5b83fd..00000000000 --- a/src/librustc/benches/pattern.rs +++ /dev/null @@ -1,25 +0,0 @@ -use test::Bencher; - -// Overhead of various match forms - -#[bench] -fn option_some(b: &mut Bencher) { - let x = Some(10); - b.iter(|| { - match x { - Some(y) => y, - None => 11 - } - }); -} - -#[bench] -fn vec_pattern(b: &mut Bencher) { - let x = [1,2,3,4,5,6]; - b.iter(|| { - match x { - [1,2,3,..] => 10, - _ => 11, - } - }); -} diff --git a/src/librustc_codegen_ssa/back/rpath/tests.rs b/src/librustc_codegen_ssa/back/rpath/tests.rs index e42a878d7e4..e8457fe0e19 100644 --- a/src/librustc_codegen_ssa/back/rpath/tests.rs +++ b/src/librustc_codegen_ssa/back/rpath/tests.rs @@ -52,7 +52,7 @@ fn test_minimize2() { fn test_rpath_relative() { if cfg!(target_os = "macos") { let config = &mut RPathConfig { - used_crates: Vec::new(), + used_crates: &[], has_rpath: true, is_like_osx: true, linker_is_gnu: false, @@ -64,7 +64,7 @@ fn test_rpath_relative() { assert_eq!(res, "@loader_path/../lib"); } else { let config = &mut RPathConfig { - used_crates: Vec::new(), + used_crates: &[], out_filename: PathBuf::from("bin/rustc"), get_install_prefix_lib_path: &mut || panic!(), has_rpath: true, -- GitLab