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