summaryrefslogtreecommitdiffstats
path: root/vendor/strsim/benches/benches.rs
blob: b7ba829f74369b574129a12b1b4bd57d61404286 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
//! 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);
        })
    }
}