Skip to content

Commit 80dff18

Browse files
committed
Add more benchmark tests to vec.rs
New benchmark tests in vec.rs: `push`, `starts_with_same_vector`, `starts_with_single_element`, `starts_with_diff_one_element_end`, `ends_with_same_vector`, `ends_with_single_element`, `ends_with_diff_one_element_beginning` and `contains_last_element`
1 parent 76d4848 commit 80dff18

File tree

1 file changed

+70
-2
lines changed

1 file changed

+70
-2
lines changed

src/libstd/vec.rs

Lines changed: 70 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -3862,10 +3862,10 @@ mod bench {
38623862
}
38633863

38643864
#[bench]
3865-
fn add(b: &mut BenchHarness) {
3865+
fn add(bh: &mut BenchHarness) {
38663866
let xs: &[int] = [5, ..10];
38673867
let ys: &[int] = [5, ..10];
3868-
do b.iter() {
3868+
do bh.iter() {
38693869
xs + ys;
38703870
}
38713871
}
@@ -3885,4 +3885,72 @@ mod bench {
38853885
xss.connect_vec(&0);
38863886
}
38873887
}
3888+
3889+
#[bench]
3890+
fn push(bh: &mut BenchHarness) {
3891+
let mut vec: ~[uint] = ~[0u];
3892+
do bh.iter() {
3893+
vec.push(0);
3894+
}
3895+
}
3896+
3897+
#[bench]
3898+
fn starts_with_same_vector(bh: &mut BenchHarness) {
3899+
let vec: ~[uint] = vec::from_fn(100, |i| i);
3900+
do bh.iter() {
3901+
vec.starts_with(vec);
3902+
}
3903+
}
3904+
3905+
#[bench]
3906+
fn starts_with_single_element(bh: &mut BenchHarness) {
3907+
let vec: ~[uint] = ~[0u];
3908+
do bh.iter() {
3909+
vec.starts_with(vec);
3910+
}
3911+
}
3912+
3913+
#[bench]
3914+
fn starts_with_diff_one_element_at_end(bh: &mut BenchHarness) {
3915+
let vec: ~[uint] = vec::from_fn(100, |i| i);
3916+
let mut match_vec: ~[uint] = vec::from_fn(99, |i| i);
3917+
match_vec.push(0);
3918+
do bh.iter() {
3919+
vec.starts_with(match_vec);
3920+
}
3921+
}
3922+
3923+
#[bench]
3924+
fn ends_with_same_vector(bh: &mut BenchHarness) {
3925+
let vec: ~[uint] = vec::from_fn(100, |i| i);
3926+
do bh.iter() {
3927+
vec.ends_with(vec);
3928+
}
3929+
}
3930+
3931+
#[bench]
3932+
fn ends_with_single_element(bh: &mut BenchHarness) {
3933+
let vec: ~[uint] = ~[0u];
3934+
do bh.iter() {
3935+
vec.ends_with(vec);
3936+
}
3937+
}
3938+
3939+
#[bench]
3940+
fn ends_with_diff_one_element_at_beginning(bh: &mut BenchHarness) {
3941+
let vec: ~[uint] = vec::from_fn(100, |i| i);
3942+
let mut match_vec: ~[uint] = vec::from_fn(100, |i| i);
3943+
match_vec[0] = 200;
3944+
do bh.iter() {
3945+
vec.starts_with(match_vec);
3946+
}
3947+
}
3948+
3949+
#[bench]
3950+
fn contains_last_element(bh: &mut BenchHarness) {
3951+
let vec: ~[uint] = vec::from_fn(100, |i| i);
3952+
do bh.iter() {
3953+
vec.contains(&99u);
3954+
}
3955+
}
38883956
}

0 commit comments

Comments
 (0)