diff options
| author | bors <bors@rust-lang.org> | 2013-11-22 03:31:37 -0800 |
|---|---|---|
| committer | bors <bors@rust-lang.org> | 2013-11-22 03:31:37 -0800 |
| commit | 8d87e9da2146b911ded797eac1a7aa9464902617 (patch) | |
| tree | 6f8f53e595d2d47670051e53309a5b7b3c10c5e5 /src/libstd | |
| parent | 747213a280ac5505e2537952f1d28efceda0bfcc (diff) | |
| parent | 80dff186416180423fe8117cbd19930a6c813ed9 (diff) | |
| download | rust-8d87e9da2146b911ded797eac1a7aa9464902617.tar.gz rust-8d87e9da2146b911ded797eac1a7aa9464902617.zip | |
auto merge of #10582 : g3xzh/rust/master, r=cmr
More new benchmark tests. some of them are benchmarking `starts_with` and `ends_with`. Let me know if I am missing something. Thanks in advance.
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); + } + } } |
