1 #![feature(test)] 2 3 extern crate mime; 4 extern crate test; 5 6 use mime::*; 7 use test::Bencher; 8 9 #[bench] bench_eq_parsed(b: &mut Bencher)10fn bench_eq_parsed(b: &mut Bencher) { 11 let mime = "text/plain; charset=utf-8".parse::<Mime>().unwrap(); 12 b.bytes = mime.as_ref().len() as u64; 13 b.iter(|| { 14 assert_eq!(mime, TEXT_PLAIN_UTF_8); 15 }) 16 } 17 18 #[bench] bench_eq_consts(b: &mut Bencher)19fn bench_eq_consts(b: &mut Bencher) { 20 let mime = TEXT_PLAIN_UTF_8; 21 b.bytes = mime.as_ref().len() as u64; 22 b.iter(|| { 23 assert_eq!(mime, TEXT_PLAIN_UTF_8); 24 }); 25 } 26 27 28 #[bench] bench_ne_consts(b: &mut Bencher)29fn bench_ne_consts(b: &mut Bencher) { 30 let one = TEXT_XML; 31 let two = TEXT_CSS; 32 b.bytes = one.as_ref().len() as u64; 33 b.iter(|| { 34 assert_ne!(one, two); 35 }); 36 } 37 38 #[bench] bench_eq_type_(b: &mut Bencher)39fn bench_eq_type_(b: &mut Bencher) { 40 let mime = TEXT_PLAIN_UTF_8; 41 let name = TEXT; 42 b.bytes = name.as_ref().len() as u64; 43 b.iter(|| { 44 assert_eq!(mime.type_(), name); 45 }); 46 } 47