diff options
| author | g3xzh <g3xzh@yahoo.com> | 2013-11-20 23:19:48 +0200 |
|---|---|---|
| committer | g3xzh <g3xzh@yahoo.com> | 2013-11-22 13:24:16 +0200 |
| commit | 80dff186416180423fe8117cbd19930a6c813ed9 (patch) | |
| tree | 32875567b909308897e944be21d48cd771ece37d /src/libstd | |
| parent | 76d484805074dba56dc544db15702ee542cd0711 (diff) | |
| download | rust-80dff186416180423fe8117cbd19930a6c813ed9.tar.gz rust-80dff186416180423fe8117cbd19930a6c813ed9.zip | |
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`
Diffstat (limited to 'src/libstd')
| -rw-r--r-- | src/libstd/vec.rs | 72 |
1 files changed, 70 insertions, 2 deletions
diff --git a/src/libstd/vec.rs b/src/libstd/vec.rs index 079d8adae58..5cc344fdfc1 100644 --- a/src/libstd/vec.rs +++ b/src/libstd/vec.rs @@ -3862,10 +3862,10 @@ mod bench { } #[bench] - fn add(b: &mut BenchHarness) { + fn add(bh: &mut BenchHarness) { let xs: &[int] = [5, ..10]; let ys: &[int] = [5, ..10]; - do b.iter() { + do bh.iter() { xs + ys; } } @@ -3885,4 +3885,72 @@ mod bench { xss.connect_vec(&0); } } + + #[bench] + fn push(bh: &mut BenchHarness) { + let mut vec: ~[uint] = ~[0u]; + do bh.iter() { + vec.push(0); + } + } + + #[bench] + fn starts_with_same_vector(bh: &mut BenchHarness) { + let vec: ~[uint] = vec::from_fn(100, |i| i); + do bh.iter() { + vec.starts_with(vec); + } + } + + #[bench] + fn starts_with_single_element(bh: &mut BenchHarness) { + let vec: ~[uint] = ~[0u]; + do bh.iter() { + vec.starts_with(vec); + } + } + + #[bench] + fn starts_with_diff_one_element_at_end(bh: &mut BenchHarness) { + let vec: ~[uint] = vec::from_fn(100, |i| i); + let mut match_vec: ~[uint] = vec::from_fn(99, |i| i); + match_vec.push(0); + do bh.iter() { + vec.starts_with(match_vec); + } + } + + #[bench] + fn ends_with_same_vector(bh: &mut BenchHarness) { + let vec: ~[uint] = vec::from_fn(100, |i| i); + do bh.iter() { + vec.ends_with(vec); + } + } + + #[bench] + fn ends_with_single_element(bh: &mut BenchHarness) { + let vec: ~[uint] = ~[0u]; + do bh.iter() { + vec.ends_with(vec); + } + } + + #[bench] + fn ends_with_diff_one_element_at_beginning(bh: &mut BenchHarness) { + let vec: ~[uint] = vec::from_fn(100, |i| i); + let mut match_vec: ~[uint] = vec::from_fn(100, |i| i); + match_vec[0] = 200; + do bh.iter() { + vec.starts_with(match_vec); + } + } + + #[bench] + fn contains_last_element(bh: &mut BenchHarness) { + let vec: ~[uint] = vec::from_fn(100, |i| i); + do bh.iter() { + vec.contains(&99u); + } + } } |
