File: benches.rs

package info (click to toggle)
rust-wu-diff 0.1.2-1
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid, trixie
  • size: 224 kB
  • sloc: makefile: 7
file content (30 lines) | stat: -rw-r--r-- 841 bytes parent folder | download
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
#[macro_use]
extern crate criterion;
extern crate wu_diff;

use criterion::Criterion;

fn criterion_benchmark(c: &mut Criterion) {
    c.bench_function("100 equal items", |b| {
        let slice = [0u8; 100];
        b.iter(|| ::wu_diff::diff(&slice, &slice));
    });

    c.bench_function("100 non-equal items", |b| {
        let (left, right) = ([0u8; 100], [1u8; 100]);
        b.iter(|| ::wu_diff::diff(&left, &right));
    });

    c.bench_function("200 non equal items in 1000", |d| {
        let left: Vec<u8> = vec![0; 1000]
            .iter()
            .enumerate()
            .map(|(i, _)| if i % 4 == 0 { 1 } else { 0 })
            .collect();
        let right: Vec<u8> = vec![0; 1000];
        d.iter(|| ::wu_diff::diff(&left, &right));
    });
}

criterion_group!(benches, criterion_benchmark);
criterion_main!(benches);