| //! Benchmarks for strsim. |
| |
| #![feature(test)] |
| |
| extern crate strsim; |
| |
| mod benches { |
| use self::test::Bencher; |
| use super::*; |
| |
| extern crate test; |
| |
| #[bench] |
| fn bench_hamming(bencher: &mut Bencher) { |
| let a = "ACAAGATGCCATTGTCCCCCGGCCTCCTGCTGCTGCTGCTCTCCGGGG"; |
| let b = "CCTGGAGGGTGGCCCCACCGGCCGAGACAGCGAGCATATGCAGGAAGC"; |
| bencher.iter(|| { |
| strsim::hamming(a, b).unwrap(); |
| }) |
| } |
| |
| #[bench] |
| fn bench_jaro(bencher: &mut Bencher) { |
| let a = "Philosopher Friedrich Nietzsche"; |
| let b = "Philosopher Jean-Paul Sartre"; |
| bencher.iter(|| { |
| strsim::jaro(&a, &b); |
| }) |
| } |
| |
| #[bench] |
| fn bench_jaro_winkler(bencher: &mut Bencher) { |
| let a = "Philosopher Friedrich Nietzsche"; |
| let b = "Philosopher Jean-Paul Sartre"; |
| bencher.iter(|| { |
| strsim::jaro_winkler(&a, &b); |
| }) |
| } |
| |
| #[bench] |
| fn bench_levenshtein(bencher: &mut Bencher) { |
| let a = "Philosopher Friedrich Nietzsche"; |
| let b = "Philosopher Jean-Paul Sartre"; |
| bencher.iter(|| { |
| strsim::levenshtein(&a, &b); |
| }) |
| } |
| |
| #[bench] |
| fn bench_levenshtein_on_u8(bencher: &mut Bencher) { |
| bencher.iter(|| { |
| strsim::generic_levenshtein(&vec![0u8; 30], &vec![7u8; 31]); |
| }) |
| } |
| |
| #[bench] |
| fn bench_normalized_levenshtein(bencher: &mut Bencher) { |
| let a = "Philosopher Friedrich Nietzsche"; |
| let b = "Philosopher Jean-Paul Sartre"; |
| bencher.iter(|| { |
| strsim::normalized_levenshtein(&a, &b); |
| }) |
| } |
| |
| #[bench] |
| fn bench_osa_distance(bencher: &mut Bencher) { |
| let a = "Philosopher Friedrich Nietzsche"; |
| let b = "Philosopher Jean-Paul Sartre"; |
| bencher.iter(|| { |
| strsim::osa_distance(&a, &b); |
| }) |
| } |
| |
| #[bench] |
| fn bench_damerau_levenshtein(bencher: &mut Bencher) { |
| let a = "Philosopher Friedrich Nietzsche"; |
| let b = "Philosopher Jean-Paul Sartre"; |
| bencher.iter(|| { |
| strsim::damerau_levenshtein(&a, &b); |
| }) |
| } |
| |
| #[bench] |
| fn bench_normalized_damerau_levenshtein(bencher: &mut Bencher) { |
| let a = "Philosopher Friedrich Nietzsche"; |
| let b = "Philosopher Jean-Paul Sartre"; |
| bencher.iter(|| { |
| strsim::normalized_damerau_levenshtein(&a, &b); |
| }) |
| } |
| |
| #[bench] |
| fn bench_sorensen_dice(bencher: &mut Bencher) { |
| let a = "Philosopher Friedrich Nietzsche"; |
| let b = "Philosopher Jean-Paul Sartre"; |
| bencher.iter(|| { |
| strsim::sorensen_dice(&a, &b); |
| }) |
| } |
| } |