Skip to content

Instantly share code, notes, and snippets.

@buckle2000
Last active March 30, 2018 12:40
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save buckle2000/94a1284c73a3b7e3fbd04138e17054c1 to your computer and use it in GitHub Desktop.
Save buckle2000/94a1284c73a3b7e3fbd04138e17054c1 to your computer and use it in GitHub Desktop.
Create fixed sized vector
#![feature(test)]
extern crate test;
use test::Bencher;
fn first(buffer_size: usize) -> Vec<u8> {
vec![0; buffer_size]
}
fn second(buffer_size: usize) -> Vec<u8> {
std::iter::repeat(0u8).take(buffer_size).collect()
}
#[bench]
fn first_bench(b: &mut Bencher) {
b.iter(|| first(100));
}
#[bench]
fn second_bench(b: &mut Bencher) {
b.iter(|| second(100));
}
$ cargo bench
running 2 tests
test first_bench ... bench: 22 ns/iter (+/- 0)
test second_bench ... bench: 34 ns/iter (+/- 1)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment