Source code

Revision control

Copy as Markdown

Other Tools

#![feature(test)]
extern crate test;
use serde::{Deserialize, Serialize};
use test::Bencher;
#[bench]
fn bench_strings_1000(bencher: &mut Bencher) {
bench_strings(bencher, 1000);
}
#[bench]
fn bench_strings_5000(bencher: &mut Bencher) {
bench_strings(bencher, 5000);
}
#[bench]
fn bench_strings_10000(bencher: &mut Bencher) {
bench_strings(bencher, 10000);
}
fn bench_strings(bencher: &mut Bencher, size: usize) {
let vec: Vec<String> = ::std::iter::repeat("abcdefghijklmnopqrstuvwxyz".into())
.take(size)
.collect();
let mut buf = Vec::new();
vec.serialize(&mut rmp_serde::Serializer::new(&mut buf)).unwrap();
bencher.iter(|| {
<Vec<String>>::deserialize(&mut rmp_serde::Deserializer::new(&buf[..])).unwrap();
});
}