diff options
Diffstat (limited to 'third_party/rust/mime/benches')
-rw-r--r-- | third_party/rust/mime/benches/cmp.rs | 46 | ||||
-rw-r--r-- | third_party/rust/mime/benches/fmt.rs | 19 | ||||
-rw-r--r-- | third_party/rust/mime/benches/parse.rs | 29 |
3 files changed, 94 insertions, 0 deletions
diff --git a/third_party/rust/mime/benches/cmp.rs b/third_party/rust/mime/benches/cmp.rs new file mode 100644 index 0000000000..b7c64f64f6 --- /dev/null +++ b/third_party/rust/mime/benches/cmp.rs @@ -0,0 +1,46 @@ +#![feature(test)] + +extern crate mime; +extern crate test; + +use mime::*; +use test::Bencher; + +#[bench] +fn bench_eq_parsed(b: &mut Bencher) { + let mime = "text/plain; charset=utf-8".parse::<Mime>().unwrap(); + b.bytes = mime.as_ref().len() as u64; + b.iter(|| { + assert_eq!(mime, TEXT_PLAIN_UTF_8); + }) +} + +#[bench] +fn bench_eq_consts(b: &mut Bencher) { + let mime = TEXT_PLAIN_UTF_8; + b.bytes = mime.as_ref().len() as u64; + b.iter(|| { + assert_eq!(mime, TEXT_PLAIN_UTF_8); + }); +} + + +#[bench] +fn bench_ne_consts(b: &mut Bencher) { + let one = TEXT_XML; + let two = TEXT_CSS; + b.bytes = one.as_ref().len() as u64; + b.iter(|| { + assert_ne!(one, two); + }); +} + +#[bench] +fn bench_eq_type_(b: &mut Bencher) { + let mime = TEXT_PLAIN_UTF_8; + let name = TEXT; + b.bytes = name.as_ref().len() as u64; + b.iter(|| { + assert_eq!(mime.type_(), name); + }); +} diff --git a/third_party/rust/mime/benches/fmt.rs b/third_party/rust/mime/benches/fmt.rs new file mode 100644 index 0000000000..106de1a1e6 --- /dev/null +++ b/third_party/rust/mime/benches/fmt.rs @@ -0,0 +1,19 @@ +#![feature(test)] + +extern crate mime; +extern crate test; + +use test::Bencher; + +#[bench] +fn bench_fmt(b: &mut Bencher) { + use std::fmt::Write; + let mime = ::mime::TEXT_PLAIN_UTF_8; + b.bytes = mime.to_string().as_bytes().len() as u64; + let mut s = String::with_capacity(64); + b.iter(|| { + let _ = write!(s, "{}", mime); + ::test::black_box(&s); + unsafe { s.as_mut_vec().set_len(0); } + }) +} diff --git a/third_party/rust/mime/benches/parse.rs b/third_party/rust/mime/benches/parse.rs new file mode 100644 index 0000000000..7d47781a0d --- /dev/null +++ b/third_party/rust/mime/benches/parse.rs @@ -0,0 +1,29 @@ +#![feature(test)] + +extern crate mime; +extern crate test; + +use mime::Mime; +use test::Bencher; + + +#[bench] +fn bench_from_str(b: &mut Bencher) { + let s = "text/plain"; + b.bytes = s.as_bytes().len() as u64; + b.iter(|| s.parse::<Mime>()) +} + +#[bench] +fn bench_from_str_charset_utf8(b: &mut Bencher) { + let s = "text/plain; charset=utf-8"; + b.bytes = s.as_bytes().len() as u64; + b.iter(|| s.parse::<Mime>()) +} + +#[bench] +fn bench_from_str_extended(b: &mut Bencher) { + let s = "text/plain; charset=utf-8; foo=bar"; + b.bytes = s.as_bytes().len() as u64; + b.iter(|| s.parse::<Mime>()) +} |