cleanup benchmarks, re-enable enum, remove bench_token_deserializer
test bench_enum::bench_decoder_dog ... bench: 111 ns/iter (+/- 9) test bench_enum::bench_decoder_frog ... bench: 343 ns/iter (+/- 95) test bench_enum::bench_deserializer_dog ... bench: 124 ns/iter (+/- 41) test bench_enum::bench_deserializer_frog ... bench: 315 ns/iter (+/- 17) test bench_map::bench_decoder_000 ... bench: 580 ns/iter (+/- 138) test bench_map::bench_decoder_003 ... bench: 2469 ns/iter (+/- 956) test bench_map::bench_decoder_100 ... bench: 68491 ns/iter (+/- 11653) test bench_map::bench_deserializer_000 ... bench: 819 ns/iter (+/- 234) test bench_map::bench_deserializer_003 ... bench: 2589 ns/iter (+/- 594) test bench_map::bench_deserializer_100 ... bench: 61954 ns/iter (+/- 23604) test bench_struct::bench_decoder_0_0 ... bench: 602 ns/iter (+/- 153) test bench_struct::bench_decoder_1_0 ... bench: 1664 ns/iter (+/- 500) test bench_struct::bench_decoder_1_5 ... bench: 4715 ns/iter (+/- 1499) test bench_struct::bench_deserializer_0_0 ... bench: 700 ns/iter (+/- 189) test bench_struct::bench_deserializer_1_0 ... bench: 2318 ns/iter (+/- 595) test bench_struct::bench_deserializer_1_5 ... bench: 5131 ns/iter (+/- 1650) test bench_vec::bench_decoder_int_000 ... bench: 22 ns/iter (+/- 22) test bench_vec::bench_decoder_int_003 ... bench: 154 ns/iter (+/- 40) test bench_vec::bench_decoder_int_100 ... bench: 1038 ns/iter (+/- 203) test bench_vec::bench_decoder_u8_000 ... bench: 16 ns/iter (+/- 4) test bench_vec::bench_decoder_u8_003 ... bench: 158 ns/iter (+/- 43) test bench_vec::bench_decoder_u8_100 ... bench: 1499 ns/iter (+/- 672) test bench_vec::bench_deserializer_int_000 ... bench: 16 ns/iter (+/- 4) test bench_vec::bench_deserializer_int_003 ... bench: 156 ns/iter (+/- 43) test bench_vec::bench_deserializer_int_100 ... bench: 1027 ns/iter (+/- 244) test bench_vec::bench_deserializer_u8_000 ... bench: 16 ns/iter (+/- 10) test bench_vec::bench_deserializer_u8_003 ... bench: 166 ns/iter (+/- 43) test bench_vec::bench_deserializer_u8_100 ... bench: 1226 ns/iter (+/- 234) test de::tests::bench_token_deserializer ... bench: 367 ns/iter (+/- 107)
This commit is contained in:
parent
88ed9cb4f2
commit
81dfaa4f3d
@ -261,7 +261,19 @@ mod deserializer {
|
||||
//////////////////////////////////////////////////////////////////////////////
|
||||
|
||||
#[bench]
|
||||
fn bench_enum_decoder(b: &mut Bencher) {
|
||||
fn bench_decoder_dog(b: &mut Bencher) {
|
||||
b.iter(|| {
|
||||
let animal = Dog;
|
||||
|
||||
let mut d = decoder::AnimalDecoder::new(animal.clone());
|
||||
let value: Animal = Decodable::decode(&mut d).unwrap();
|
||||
|
||||
assert_eq!(value, animal);
|
||||
})
|
||||
}
|
||||
|
||||
#[bench]
|
||||
fn bench_decoder_frog(b: &mut Bencher) {
|
||||
b.iter(|| {
|
||||
let animal = Frog("Henry".to_strbuf(), 349);
|
||||
|
||||
@ -273,7 +285,19 @@ fn bench_enum_decoder(b: &mut Bencher) {
|
||||
}
|
||||
|
||||
#[bench]
|
||||
fn bench_enum_deserializer(b: &mut Bencher) {
|
||||
fn bench_deserializer_dog(b: &mut Bencher) {
|
||||
b.iter(|| {
|
||||
let animal = Dog;
|
||||
|
||||
let mut d = deserializer::AnimalDeserializer::new(animal.clone());
|
||||
let value: Animal = Deserializable::deserialize(&mut d).unwrap();
|
||||
|
||||
assert_eq!(value, animal);
|
||||
})
|
||||
}
|
||||
|
||||
#[bench]
|
||||
fn bench_deserializer_frog(b: &mut Bencher) {
|
||||
b.iter(|| {
|
||||
let animal = Frog("Henry".to_strbuf(), 349);
|
||||
|
||||
|
12
bench_map.rs
12
bench_map.rs
@ -245,7 +245,7 @@ fn run_decoder<
|
||||
}
|
||||
|
||||
#[bench]
|
||||
fn bench_decoder_map_000(b: &mut Bencher) {
|
||||
fn bench_decoder_000(b: &mut Bencher) {
|
||||
b.iter(|| {
|
||||
let m: HashMap<String, int> = HashMap::new();
|
||||
run_decoder(decoder::IntDecoder::new(m.clone()), m)
|
||||
@ -253,7 +253,7 @@ fn bench_decoder_map_000(b: &mut Bencher) {
|
||||
}
|
||||
|
||||
#[bench]
|
||||
fn bench_decoder_map_003(b: &mut Bencher) {
|
||||
fn bench_decoder_003(b: &mut Bencher) {
|
||||
b.iter(|| {
|
||||
let mut m: HashMap<String, int> = HashMap::new();
|
||||
for i in range(0, 3) {
|
||||
@ -264,7 +264,7 @@ fn bench_decoder_map_003(b: &mut Bencher) {
|
||||
}
|
||||
|
||||
#[bench]
|
||||
fn bench_decoder_map_100(b: &mut Bencher) {
|
||||
fn bench_decoder_100(b: &mut Bencher) {
|
||||
b.iter(|| {
|
||||
let mut m: HashMap<String, int> = HashMap::new();
|
||||
for i in range(0, 100) {
|
||||
@ -285,7 +285,7 @@ fn run_deserializer<
|
||||
}
|
||||
|
||||
#[bench]
|
||||
fn bench_deserializer_map_000(b: &mut Bencher) {
|
||||
fn bench_deserializer_000(b: &mut Bencher) {
|
||||
b.iter(|| {
|
||||
let m: HashMap<String, int> = HashMap::new();
|
||||
run_deserializer(deserializer::IntDeserializer::new(m.clone()), m)
|
||||
@ -293,7 +293,7 @@ fn bench_deserializer_map_000(b: &mut Bencher) {
|
||||
}
|
||||
|
||||
#[bench]
|
||||
fn bench_deserializer_map_003(b: &mut Bencher) {
|
||||
fn bench_deserializer_003(b: &mut Bencher) {
|
||||
b.iter(|| {
|
||||
let mut m: HashMap<String, int> = HashMap::new();
|
||||
for i in range(0, 3) {
|
||||
@ -304,7 +304,7 @@ fn bench_deserializer_map_003(b: &mut Bencher) {
|
||||
}
|
||||
|
||||
#[bench]
|
||||
fn bench_deserializer_map_100(b: &mut Bencher) {
|
||||
fn bench_deserializer_100(b: &mut Bencher) {
|
||||
b.iter(|| {
|
||||
let mut m: HashMap<String, int> = HashMap::new();
|
||||
for i in range(0, 100) {
|
||||
|
@ -379,7 +379,7 @@ mod deserializer {
|
||||
}
|
||||
|
||||
#[bench]
|
||||
fn bench_struct_decoder_outer_empty(b: &mut Bencher) {
|
||||
fn bench_decoder_0_0(b: &mut Bencher) {
|
||||
b.iter(|| {
|
||||
let mut map = HashMap::new();
|
||||
map.insert("abc".to_strbuf(), Some('c'));
|
||||
@ -396,7 +396,7 @@ fn bench_struct_decoder_outer_empty(b: &mut Bencher) {
|
||||
}
|
||||
|
||||
#[bench]
|
||||
fn bench_struct_decoder_inner_empty(b: &mut Bencher) {
|
||||
fn bench_decoder_1_0(b: &mut Bencher) {
|
||||
b.iter(|| {
|
||||
let map = HashMap::new();
|
||||
|
||||
@ -418,7 +418,7 @@ fn bench_struct_decoder_inner_empty(b: &mut Bencher) {
|
||||
}
|
||||
|
||||
#[bench]
|
||||
fn bench_struct_decoder(b: &mut Bencher) {
|
||||
fn bench_decoder_1_5(b: &mut Bencher) {
|
||||
b.iter(|| {
|
||||
let mut map = HashMap::new();
|
||||
map.insert("1".to_strbuf(), Some('a'));
|
||||
@ -445,7 +445,7 @@ fn bench_struct_decoder(b: &mut Bencher) {
|
||||
}
|
||||
|
||||
#[bench]
|
||||
fn bench_struct_deserializer_outer_empty(b: &mut Bencher) {
|
||||
fn bench_deserializer_0_0(b: &mut Bencher) {
|
||||
b.iter(|| {
|
||||
let mut map = HashMap::new();
|
||||
map.insert("abc".to_strbuf(), Some('c'));
|
||||
@ -462,7 +462,7 @@ fn bench_struct_deserializer_outer_empty(b: &mut Bencher) {
|
||||
}
|
||||
|
||||
#[bench]
|
||||
fn bench_struct_deserializer_inner_empty(b: &mut Bencher) {
|
||||
fn bench_deserializer_1_0(b: &mut Bencher) {
|
||||
b.iter(|| {
|
||||
let map = HashMap::new();
|
||||
|
||||
@ -484,7 +484,7 @@ fn bench_struct_deserializer_inner_empty(b: &mut Bencher) {
|
||||
}
|
||||
|
||||
#[bench]
|
||||
fn bench_struct_deserializer(b: &mut Bencher) {
|
||||
fn bench_deserializer_1_5(b: &mut Bencher) {
|
||||
b.iter(|| {
|
||||
let mut map = HashMap::new();
|
||||
map.insert("1".to_strbuf(), Some('a'));
|
||||
|
24
bench_vec.rs
24
bench_vec.rs
@ -373,7 +373,7 @@ fn run_deserializer<
|
||||
}
|
||||
|
||||
#[bench]
|
||||
fn bench_decoder_vec_int_000(b: &mut Bencher) {
|
||||
fn bench_decoder_int_000(b: &mut Bencher) {
|
||||
b.iter(|| {
|
||||
let v: Vec<int> = vec!();
|
||||
run_decoder(decoder::IntDecoder::new(v.clone()), v)
|
||||
@ -381,7 +381,7 @@ fn bench_decoder_vec_int_000(b: &mut Bencher) {
|
||||
}
|
||||
|
||||
#[bench]
|
||||
fn bench_decoder_vec_int_003(b: &mut Bencher) {
|
||||
fn bench_decoder_int_003(b: &mut Bencher) {
|
||||
b.iter(|| {
|
||||
let v: Vec<int> = vec!(1, 2, 3);
|
||||
run_decoder(decoder::IntDecoder::new(v.clone()), v)
|
||||
@ -389,7 +389,7 @@ fn bench_decoder_vec_int_003(b: &mut Bencher) {
|
||||
}
|
||||
|
||||
#[bench]
|
||||
fn bench_decoder_vec_int_100(b: &mut Bencher) {
|
||||
fn bench_decoder_int_100(b: &mut Bencher) {
|
||||
b.iter(|| {
|
||||
let v: Vec<int> = range(0, 100).collect();
|
||||
run_decoder(decoder::IntDecoder::new(v.clone()), v)
|
||||
@ -397,7 +397,7 @@ fn bench_decoder_vec_int_100(b: &mut Bencher) {
|
||||
}
|
||||
|
||||
#[bench]
|
||||
fn bench_decoder_vec_u8_000(b: &mut Bencher) {
|
||||
fn bench_decoder_u8_000(b: &mut Bencher) {
|
||||
b.iter(|| {
|
||||
let v: Vec<u8> = vec!();
|
||||
run_decoder(decoder::U8Decoder::new(v.clone()), v)
|
||||
@ -405,7 +405,7 @@ fn bench_decoder_vec_u8_000(b: &mut Bencher) {
|
||||
}
|
||||
|
||||
#[bench]
|
||||
fn bench_decoder_vec_u8_003(b: &mut Bencher) {
|
||||
fn bench_decoder_u8_003(b: &mut Bencher) {
|
||||
b.iter(|| {
|
||||
let v: Vec<u8> = vec!(1, 2, 3);
|
||||
run_decoder(decoder::U8Decoder::new(v.clone()), v)
|
||||
@ -413,7 +413,7 @@ fn bench_decoder_vec_u8_003(b: &mut Bencher) {
|
||||
}
|
||||
|
||||
#[bench]
|
||||
fn bench_decoder_vec_u8_100(b: &mut Bencher) {
|
||||
fn bench_decoder_u8_100(b: &mut Bencher) {
|
||||
b.iter(|| {
|
||||
let v: Vec<u8> = range(0u8, 100).collect();
|
||||
run_decoder(decoder::U8Decoder::new(v.clone()), v)
|
||||
@ -421,7 +421,7 @@ fn bench_decoder_vec_u8_100(b: &mut Bencher) {
|
||||
}
|
||||
|
||||
#[bench]
|
||||
fn bench_deserializer_vec_int_000(b: &mut Bencher) {
|
||||
fn bench_deserializer_int_000(b: &mut Bencher) {
|
||||
b.iter(|| {
|
||||
let v: Vec<int> = vec!();
|
||||
run_deserializer(deserializer::IntDeserializer::new(v.clone()), v)
|
||||
@ -429,7 +429,7 @@ fn bench_deserializer_vec_int_000(b: &mut Bencher) {
|
||||
}
|
||||
|
||||
#[bench]
|
||||
fn bench_deserializer_vec_int_003(b: &mut Bencher) {
|
||||
fn bench_deserializer_int_003(b: &mut Bencher) {
|
||||
b.iter(|| {
|
||||
let v: Vec<int> = vec!(1, 2, 3);
|
||||
run_deserializer(deserializer::IntDeserializer::new(v.clone()), v)
|
||||
@ -437,7 +437,7 @@ fn bench_deserializer_vec_int_003(b: &mut Bencher) {
|
||||
}
|
||||
|
||||
#[bench]
|
||||
fn bench_deserializer_vec_int_100(b: &mut Bencher) {
|
||||
fn bench_deserializer_int_100(b: &mut Bencher) {
|
||||
b.iter(|| {
|
||||
let v: Vec<int> = range(0, 100).collect();
|
||||
run_deserializer(deserializer::IntDeserializer::new(v.clone()), v)
|
||||
@ -445,7 +445,7 @@ fn bench_deserializer_vec_int_100(b: &mut Bencher) {
|
||||
}
|
||||
|
||||
#[bench]
|
||||
fn bench_deserializer_vec_u8_000(b: &mut Bencher) {
|
||||
fn bench_deserializer_u8_000(b: &mut Bencher) {
|
||||
b.iter(|| {
|
||||
let v: Vec<u8> = vec!();
|
||||
run_deserializer(deserializer::U8Deserializer::new(v.clone()), v)
|
||||
@ -453,7 +453,7 @@ fn bench_deserializer_vec_u8_000(b: &mut Bencher) {
|
||||
}
|
||||
|
||||
#[bench]
|
||||
fn bench_deserializer_vec_u8_003(b: &mut Bencher) {
|
||||
fn bench_deserializer_u8_003(b: &mut Bencher) {
|
||||
b.iter(|| {
|
||||
let v: Vec<u8> = vec!(1, 2, 3);
|
||||
run_deserializer(deserializer::U8Deserializer::new(v.clone()), v)
|
||||
@ -461,7 +461,7 @@ fn bench_deserializer_vec_u8_003(b: &mut Bencher) {
|
||||
}
|
||||
|
||||
#[bench]
|
||||
fn bench_deserializer_vec_u8_100(b: &mut Bencher) {
|
||||
fn bench_deserializer_u8_100(b: &mut Bencher) {
|
||||
b.iter(|| {
|
||||
let v: Vec<u8> = range(0u8, 100).collect();
|
||||
run_deserializer(deserializer::U8Deserializer::new(v.clone()), v)
|
||||
|
21
de.rs
21
de.rs
@ -473,7 +473,6 @@ deserialize_tuple! { T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, }
|
||||
#[cfg(test)]
|
||||
mod tests {
|
||||
use collections::HashMap;
|
||||
use test::Bencher;
|
||||
|
||||
use serialize::Decoder;
|
||||
|
||||
@ -888,24 +887,4 @@ mod tests {
|
||||
|
||||
assert_eq!(value, map);
|
||||
}
|
||||
|
||||
#[bench]
|
||||
fn bench_token_deserializer(b: &mut Bencher) {
|
||||
b.iter(|| {
|
||||
let tokens = vec!(
|
||||
SeqStart(3),
|
||||
Int(5),
|
||||
|
||||
Int(6),
|
||||
|
||||
Int(7),
|
||||
End,
|
||||
);
|
||||
|
||||
let mut d = TokenDeserializer::new(tokens);
|
||||
let value: Vec<int> = Deserializable::deserialize(&mut d).unwrap();
|
||||
|
||||
assert_eq!(value, vec!(5, 6, 7));
|
||||
})
|
||||
}
|
||||
}
|
||||
|
Loading…
x
Reference in New Issue
Block a user