Rollup merge of #102270 - Nilstrieb:delete-useless-benches, r=TaKO8Ki
Remove benches from `rustc_middle` These benches benchmark rust langauge features and not the compiler, so they seem to be in the wrong place here. They also all take <1ns, making them pretty useless. Looking at their git history, they just seem to have been carried around for many, many years. This commit ends their journey.
This commit is contained in:
commit
39c6bdc30d
@ -1,54 +0,0 @@
|
||||
#![feature(test)]
|
||||
|
||||
extern crate test;
|
||||
|
||||
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,
|
||||
});
|
||||
}
|
Loading…
x
Reference in New Issue
Block a user