| #![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)); |
| } |
| }) |
| } |