Skip to content

Commit 14a9fd0

Browse files
committed
Switch benchmark to criterion
1 parent d50170f commit 14a9fd0

File tree

4 files changed

+40
-49
lines changed

4 files changed

+40
-49
lines changed

Cargo.toml

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -22,7 +22,11 @@ maintenance = { status = "actively-developed" }
2222
unic-langid = "0.4"
2323

2424
[dev-dependencies]
25-
serde = "1.0"
25+
serde = { version = "1.0", features = ["derive"] }
2626
serde_json = "1.0"
27-
serde_derive = "1.0"
2827
unic-locale = "0.4"
28+
criterion = "0.2"
29+
30+
[[bench]]
31+
name = "negotiate"
32+
harness = false

benches/lib.rs

Lines changed: 0 additions & 43 deletions
This file was deleted.

benches/negotiate.rs

Lines changed: 31 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,31 @@
1+
use criterion::criterion_group;
2+
use criterion::criterion_main;
3+
use criterion::Criterion;
4+
5+
use fluent_locale::convert_vec_str_to_langids_lossy;
6+
use fluent_locale::negotiate_languages;
7+
8+
fn negotiate_bench(c: &mut Criterion) {
9+
let requested = vec!["de", "it", "ru"];
10+
let available = vec![
11+
"en-US", "fr", "de", "en-GB", "it", "pl", "ru", "sr-Cyrl", "sr-Latn", "zh-Hant", "zh-Hans",
12+
"ja-JP", "he-IL", "de-DE", "de-IT",
13+
];
14+
15+
let requested = convert_vec_str_to_langids_lossy(&requested);
16+
let available = convert_vec_str_to_langids_lossy(&available);
17+
18+
c.bench_function("negotiate", move |b| {
19+
b.iter(|| {
20+
negotiate_languages(
21+
&requested,
22+
&available,
23+
None,
24+
fluent_locale::NegotiationStrategy::Filtering,
25+
);
26+
})
27+
});
28+
}
29+
30+
criterion_group!(benches, negotiate_bench);
31+
criterion_main!(benches);

tests/lib.rs

Lines changed: 3 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -3,14 +3,13 @@ use std::fs;
33
use std::fs::File;
44
use std::path::Path;
55

6-
use fluent_locale::negotiate::negotiate_languages;
7-
use fluent_locale::negotiate::NegotiationStrategy;
6+
use fluent_locale::negotiate_languages;
87
use fluent_locale::parse_accepted_languages;
8+
use fluent_locale::NegotiationStrategy;
99
use unic_langid::LanguageIdentifier;
1010
use unic_locale::Locale;
1111

12-
#[macro_use]
13-
extern crate serde_derive;
12+
use serde::{Deserialize, Serialize};
1413

1514
#[derive(Serialize, Deserialize)]
1615
#[serde(untagged)]

0 commit comments

Comments
 (0)