Skip to content

Commit 548bdba

Browse files
author
blake2-ppc
committed
std::str: Bench test for char iterators
1 parent 680eb71 commit 548bdba

File tree

1 file changed

+56
-0
lines changed

1 file changed

+56
-0
lines changed

src/libstd/str.rs

Lines changed: 56 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3267,6 +3267,62 @@ mod tests {
32673267
mod bench {
32683268
use extra::test::BenchHarness;
32693269
use super::*;
3270+
use prelude::*;
3271+
3272+
#[bench]
3273+
fn char_iterator(bh: &mut BenchHarness) {
3274+
let s = "ศไทย中华Việt Nam; Mary had a little lamb, Little lamb";
3275+
let len = s.char_len();
3276+
3277+
do bh.iter {
3278+
assert_eq!(s.iter().len(), len);
3279+
}
3280+
}
3281+
3282+
#[bench]
3283+
fn char_iterator_ascii(bh: &mut BenchHarness) {
3284+
let s = "Mary had a little lamb, Little lamb
3285+
Mary had a little lamb, Little lamb
3286+
Mary had a little lamb, Little lamb
3287+
Mary had a little lamb, Little lamb
3288+
Mary had a little lamb, Little lamb
3289+
Mary had a little lamb, Little lamb";
3290+
let len = s.char_len();
3291+
3292+
do bh.iter {
3293+
assert_eq!(s.iter().len(), len);
3294+
}
3295+
}
3296+
3297+
#[bench]
3298+
fn char_iterator_rev(bh: &mut BenchHarness) {
3299+
let s = "ศไทย中华Việt Nam; Mary had a little lamb, Little lamb";
3300+
let len = s.char_len();
3301+
3302+
do bh.iter {
3303+
assert_eq!(s.rev_iter().len(), len);
3304+
}
3305+
}
3306+
3307+
#[bench]
3308+
fn char_offset_iterator(bh: &mut BenchHarness) {
3309+
let s = "ศไทย中华Việt Nam; Mary had a little lamb, Little lamb";
3310+
let len = s.char_len();
3311+
3312+
do bh.iter {
3313+
assert_eq!(s.char_offset_iter().len(), len);
3314+
}
3315+
}
3316+
3317+
#[bench]
3318+
fn char_offset_iterator_rev(bh: &mut BenchHarness) {
3319+
let s = "ศไทย中华Việt Nam; Mary had a little lamb, Little lamb";
3320+
let len = s.char_len();
3321+
3322+
do bh.iter {
3323+
assert_eq!(s.char_offset_rev_iter().len(), len);
3324+
}
3325+
}
32703326
32713327
#[bench]
32723328
fn is_utf8_100_ascii(bh: &mut BenchHarness) {

0 commit comments

Comments
 (0)