diff options
Diffstat (limited to 'vendor/utf-8/benches/from_utf8_lossy.rs')
-rw-r--r-- | vendor/utf-8/benches/from_utf8_lossy.rs | 30 |
1 files changed, 30 insertions, 0 deletions
diff --git a/vendor/utf-8/benches/from_utf8_lossy.rs b/vendor/utf-8/benches/from_utf8_lossy.rs new file mode 100644 index 000000000..95d9edf39 --- /dev/null +++ b/vendor/utf-8/benches/from_utf8_lossy.rs @@ -0,0 +1,30 @@ +#![feature(test)] + +extern crate test; +extern crate utf8; + +#[path = "../tests/shared/data.rs"] +mod data; + +#[path = "../tests/shared/string_from_utf8_lossy.rs"] +mod string_from_utf8_lossy; + +#[bench] +fn bench_our_string_from_utf8_lossy(bencher: &mut test::Bencher) { + bencher.bytes = data::DECODED_LOSSY.iter().map(|&(input, _expected)| input.len() as u64).sum(); + bencher.iter(|| { + for &(input, _expected) in data::DECODED_LOSSY { + test::black_box(string_from_utf8_lossy::string_from_utf8_lossy(input)); + } + }) +} + +#[bench] +fn bench_std_string_from_utf8_lossy(bencher: &mut test::Bencher) { + bencher.bytes = data::DECODED_LOSSY.iter().map(|&(input, _expected)| input.len() as u64).sum(); + bencher.iter(|| { + for &(input, _expected) in data::DECODED_LOSSY { + test::black_box(String::from_utf8_lossy(input)); + } + }) +} |