-
-
Save ljedrz/7636fd2dceb3f74780e24261c906cd2d to your computer and use it in GitHub Desktop.
SmallVec benchmarks
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
#[cfg(test)] | |
mod tests { | |
extern crate test; | |
use self::test::Bencher; | |
use super::*; | |
#[bench] | |
fn fill_small_vec_1_10_with_cap(b: &mut Bencher) { | |
b.iter(|| { | |
let mut sv: SmallVec<[usize; 1]> = SmallVec::with_capacity(10); | |
sv.extend(0..10); | |
}) | |
} | |
#[bench] | |
fn fill_small_vec_1_10_wo_cap(b: &mut Bencher) { | |
b.iter(|| { | |
let mut sv: SmallVec<[usize; 1]> = SmallVec::new(); | |
sv.extend(0..10); | |
}) | |
} | |
#[bench] | |
fn fill_small_vec_8_10_with_cap(b: &mut Bencher) { | |
b.iter(|| { | |
let mut sv: SmallVec<[usize; 8]> = SmallVec::with_capacity(10); | |
sv.extend(0..10); | |
}) | |
} | |
#[bench] | |
fn fill_small_vec_8_10_wo_cap(b: &mut Bencher) { | |
b.iter(|| { | |
let mut sv: SmallVec<[usize; 8]> = SmallVec::new(); | |
sv.extend(0..10); | |
}) | |
} | |
#[bench] | |
fn fill_small_vec_32_10_with_cap(b: &mut Bencher) { | |
b.iter(|| { | |
let mut sv: SmallVec<[usize; 32]> = SmallVec::with_capacity(10); | |
sv.extend(0..10); | |
}) | |
} | |
#[bench] | |
fn fill_small_vec_32_10_wo_cap(b: &mut Bencher) { | |
b.iter(|| { | |
let mut sv: SmallVec<[usize; 32]> = SmallVec::new(); | |
sv.extend(0..10); | |
}) | |
} | |
#[bench] | |
fn fill_small_vec_1_50_with_cap(b: &mut Bencher) { | |
b.iter(|| { | |
let mut sv: SmallVec<[usize; 1]> = SmallVec::with_capacity(50); | |
sv.extend(0..50); | |
}) | |
} | |
#[bench] | |
fn fill_small_vec_1_50_wo_cap(b: &mut Bencher) { | |
b.iter(|| { | |
let mut sv: SmallVec<[usize; 1]> = SmallVec::new(); | |
sv.extend(0..50); | |
}) | |
} | |
#[bench] | |
fn fill_small_vec_8_50_with_cap(b: &mut Bencher) { | |
b.iter(|| { | |
let mut sv: SmallVec<[usize; 8]> = SmallVec::with_capacity(50); | |
sv.extend(0..50); | |
}) | |
} | |
#[bench] | |
fn fill_small_vec_8_50_wo_cap(b: &mut Bencher) { | |
b.iter(|| { | |
let mut sv: SmallVec<[usize; 8]> = SmallVec::new(); | |
sv.extend(0..50); | |
}) | |
} | |
#[bench] | |
fn fill_small_vec_32_50_with_cap(b: &mut Bencher) { | |
b.iter(|| { | |
let mut sv: SmallVec<[usize; 32]> = SmallVec::with_capacity(50); | |
sv.extend(0..50); | |
}) | |
} | |
#[bench] | |
fn fill_small_vec_32_50_wo_cap(b: &mut Bencher) { | |
b.iter(|| { | |
let mut sv: SmallVec<[usize; 32]> = SmallVec::new(); | |
sv.extend(0..50); | |
}) | |
} | |
} |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment