Movatterモバイル変換


[0]ホーム

URL:


Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

Commita08c4e5

Browse files
committed
Replace bencher with criterion
Enable performance improvements to be tracked over time moreeasily.
1 parent573b7bb commita08c4e5

File tree

2 files changed

+30
-31
lines changed

2 files changed

+30
-31
lines changed

‎Cargo.toml‎

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -24,7 +24,7 @@ no_std = [] # This is a no-op, preserved for backward compatibility only.
2424

2525
[dev-dependencies]
2626
quickcheck ="0.7"
27-
bencher ="0.1"
27+
criterion ="0.3"
2828

2929
[[bench]]
3030
name ="graphemes"

‎benches/graphemes.rs‎

Lines changed: 29 additions & 30 deletions
Original file line numberDiff line numberDiff line change
@@ -1,55 +1,54 @@
1-
#[macro_use]
2-
externcrate bencher;
3-
externcrate unicode_segmentation;
1+
use criterion::{black_box, criterion_group, criterion_main,Criterion};
2+
use unicode_segmentation;
43

5-
use bencher::Bencher;
6-
use unicode_segmentation::UnicodeSegmentation;
74
use std::fs;
5+
use unicode_segmentation::UnicodeSegmentation;
86

9-
fngraphemes(bench:&mutBencher,path:&str){
7+
fngraphemes(c:&mutCriterion,lang:&str,path:&str){
108
let text = fs::read_to_string(path).unwrap();
11-
bench.iter(||{
12-
for ginUnicodeSegmentation::graphemes(&*text,true){
13-
bencher::black_box(g);
14-
}
15-
});
169

17-
bench.bytes = text.len()asu64;
10+
c.bench_function(&format!("grapheme {}",lang), |bench|{
11+
bench.iter(||{
12+
for ginUnicodeSegmentation::graphemes(black_box(&*text),true){
13+
black_box(g);
14+
}
15+
})
16+
});
1817
}
1918

20-
fngraphemes_arabic(bench:&mutBencher){
21-
graphemes(bench,"benches/texts/arabic.txt");
19+
fngraphemes_arabic(c:&mutCriterion){
20+
graphemes(c,"arabic","benches/texts/arabic.txt");
2221
}
2322

24-
fngraphemes_english(bench:&mutBencher){
25-
graphemes(bench,"benches/texts/english.txt");
23+
fngraphemes_english(c:&mutCriterion){
24+
graphemes(c,"english","benches/texts/english.txt");
2625
}
2726

28-
fngraphemes_hindi(bench:&mutBencher){
29-
graphemes(bench,"benches/texts/hindi.txt");
27+
fngraphemes_hindi(c:&mutCriterion){
28+
graphemes(c,"hindi","benches/texts/hindi.txt");
3029
}
3130

32-
fngraphemes_japanese(bench:&mutBencher){
33-
graphemes(bench,"benches/texts/japanese.txt");
31+
fngraphemes_japanese(c:&mutCriterion){
32+
graphemes(c,"japanese","benches/texts/japanese.txt");
3433
}
3534

36-
fngraphemes_korean(bench:&mutBencher){
37-
graphemes(bench,"benches/texts/korean.txt");
35+
fngraphemes_korean(c:&mutCriterion){
36+
graphemes(c,"korean","benches/texts/korean.txt");
3837
}
3938

40-
fngraphemes_mandarin(bench:&mutBencher){
41-
graphemes(bench,"benches/texts/mandarin.txt");
39+
fngraphemes_mandarin(c:&mutCriterion){
40+
graphemes(c,"mandarin","benches/texts/mandarin.txt");
4241
}
4342

44-
fngraphemes_russian(bench:&mutBencher){
45-
graphemes(bench,"benches/texts/russian.txt");
43+
fngraphemes_russian(c:&mutCriterion){
44+
graphemes(c,"russian","benches/texts/russian.txt");
4645
}
4746

48-
fngraphemes_source_code(bench:&mutBencher){
49-
graphemes(bench,"benches/texts/source_code.txt");
47+
fngraphemes_source_code(c:&mutCriterion){
48+
graphemes(c,"source_code","benches/texts/source_code.txt");
5049
}
5150

52-
benchmark_group!(
51+
criterion_group!(
5352
benches,
5453
graphemes_arabic,
5554
graphemes_english,
@@ -61,4 +60,4 @@ benchmark_group!(
6160
graphemes_source_code,
6261
);
6362

64-
benchmark_main!(benches);
63+
criterion_main!(benches);

0 commit comments

Comments
 (0)

[8]ページ先頭

©2009-2025 Movatter.jp