1 //! Benchmarks for strsim. 2 3 #![feature(test)] 4 5 extern crate strsim; 6 7 mod benches { 8 use super::*; 9 10 extern crate test; 11 use self::test::Bencher; 12 13 #[bench] bench_hamming(bencher: &mut Bencher)14 fn bench_hamming(bencher: &mut Bencher) { 15 let a = "ACAAGATGCCATTGTCCCCCGGCCTCCTGCTGCTGCTGCTCTCCGGGG"; 16 let b = "CCTGGAGGGTGGCCCCACCGGCCGAGACAGCGAGCATATGCAGGAAGC"; 17 bencher.iter(|| { 18 strsim::hamming(&a, &b).unwrap(); 19 }) 20 } 21 22 #[bench] bench_jaro(bencher: &mut Bencher)23 fn bench_jaro(bencher: &mut Bencher) { 24 let a = "Philosopher Friedrich Nietzsche"; 25 let b = "Philosopher Jean-Paul Sartre"; 26 bencher.iter(|| { 27 strsim::jaro(&a, &b); 28 }) 29 } 30 31 #[bench] bench_jaro_winkler(bencher: &mut Bencher)32 fn bench_jaro_winkler(bencher: &mut Bencher) { 33 let a = "Philosopher Friedrich Nietzsche"; 34 let b = "Philosopher Jean-Paul Sartre"; 35 bencher.iter(|| { 36 strsim::jaro_winkler(&a, &b); 37 }) 38 } 39 40 #[bench] bench_levenshtein(bencher: &mut Bencher)41 fn bench_levenshtein(bencher: &mut Bencher) { 42 let a = "Philosopher Friedrich Nietzsche"; 43 let b = "Philosopher Jean-Paul Sartre"; 44 bencher.iter(|| { 45 strsim::levenshtein(&a, &b); 46 }) 47 } 48 49 #[bench] bench_normalized_levenshtein(bencher: &mut Bencher)50 fn bench_normalized_levenshtein(bencher: &mut Bencher) { 51 let a = "Philosopher Friedrich Nietzsche"; 52 let b = "Philosopher Jean-Paul Sartre"; 53 bencher.iter(|| { 54 strsim::normalized_levenshtein(&a, &b); 55 }) 56 } 57 58 #[bench] bench_osa_distance(bencher: &mut Bencher)59 fn bench_osa_distance(bencher: &mut Bencher) { 60 let a = "Philosopher Friedrich Nietzsche"; 61 let b = "Philosopher Jean-Paul Sartre"; 62 bencher.iter(|| { 63 strsim::osa_distance(&a, &b); 64 }) 65 } 66 67 #[bench] bench_damerau_levenshtein(bencher: &mut Bencher)68 fn bench_damerau_levenshtein(bencher: &mut Bencher) { 69 let a = "Philosopher Friedrich Nietzsche"; 70 let b = "Philosopher Jean-Paul Sartre"; 71 bencher.iter(|| { 72 strsim::damerau_levenshtein(&a, &b); 73 }) 74 } 75 76 #[bench] bench_normalized_damerau_levenshtein(bencher: &mut Bencher)77 fn bench_normalized_damerau_levenshtein(bencher: &mut Bencher) { 78 let a = "Philosopher Friedrich Nietzsche"; 79 let b = "Philosopher Jean-Paul Sartre"; 80 bencher.iter(|| { 81 strsim::normalized_damerau_levenshtein(&a, &b); 82 }) 83 } 84 } 85