]> git.lizzy.rs Git - rust.git/blob - library/core/benches/char/methods.rs
Merge commit '3e7c6dec244539970b593824334876f8b6ed0b18' into clippyup
[rust.git] / library / core / benches / char / methods.rs
1 use test::Bencher;
2
3 const CHARS: [char; 9] = ['0', 'x', '2', '5', 'A', 'f', '7', '8', '9'];
4 const RADIX: [u32; 5] = [2, 8, 10, 16, 32];
5
6 #[bench]
7 fn bench_to_digit_radix_2(b: &mut Bencher) {
8     b.iter(|| CHARS.iter().cycle().take(10_000).map(|c| c.to_digit(2)).min())
9 }
10
11 #[bench]
12 fn bench_to_digit_radix_10(b: &mut Bencher) {
13     b.iter(|| CHARS.iter().cycle().take(10_000).map(|c| c.to_digit(10)).min())
14 }
15
16 #[bench]
17 fn bench_to_digit_radix_16(b: &mut Bencher) {
18     b.iter(|| CHARS.iter().cycle().take(10_000).map(|c| c.to_digit(16)).min())
19 }
20
21 #[bench]
22 fn bench_to_digit_radix_36(b: &mut Bencher) {
23     b.iter(|| CHARS.iter().cycle().take(10_000).map(|c| c.to_digit(36)).min())
24 }
25
26 #[bench]
27 fn bench_to_digit_radix_var(b: &mut Bencher) {
28     b.iter(|| {
29         CHARS
30             .iter()
31             .cycle()
32             .zip(RADIX.iter().cycle())
33             .take(10_000)
34             .map(|(c, radix)| c.to_digit(*radix))
35             .min()
36     })
37 }