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:
Nilstrieb 2022-09-25 18:35:43 +02:00
parent 6f6010b08b
commit ddf7982741

View File

@ -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,
});
}