blob: c4d1e2807947774ab6ef545afd93d2c909be0779 [file] [log] [blame] [edit]
#![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();
})
}