Skip to content

Commit 62cfd8a

Browse files
committed
fix more benchmark test with black_box
1 parent 5348a89 commit 62cfd8a

File tree

4 files changed

+30
-30
lines changed

4 files changed

+30
-30
lines changed

library/core/benches/fmt.rs

+12-12
Original file line numberDiff line numberDiff line change
@@ -1,13 +1,13 @@
11
use std::fmt::{self, Write as FmtWrite};
22
use std::io::{self, Write as IoWrite};
3-
use test::Bencher;
3+
use test::{black_box, Bencher};
44

55
#[bench]
66
fn write_vec_value(bh: &mut Bencher) {
77
bh.iter(|| {
88
let mut mem = Vec::new();
99
for _ in 0..1000 {
10-
mem.write_all("abc".as_bytes()).unwrap();
10+
mem.write_all(black_box("abc").as_bytes()).unwrap();
1111
}
1212
});
1313
}
@@ -18,7 +18,7 @@ fn write_vec_ref(bh: &mut Bencher) {
1818
let mut mem = Vec::new();
1919
let wr = &mut mem as &mut dyn io::Write;
2020
for _ in 0..1000 {
21-
wr.write_all("abc".as_bytes()).unwrap();
21+
wr.write_all(black_box("abc").as_bytes()).unwrap();
2222
}
2323
});
2424
}
@@ -29,7 +29,7 @@ fn write_vec_macro1(bh: &mut Bencher) {
2929
let mut mem = Vec::new();
3030
let wr = &mut mem as &mut dyn io::Write;
3131
for _ in 0..1000 {
32-
write!(wr, "abc").unwrap();
32+
write!(wr, "{}", black_box("abc")).unwrap();
3333
}
3434
});
3535
}
@@ -40,7 +40,7 @@ fn write_vec_macro2(bh: &mut Bencher) {
4040
let mut mem = Vec::new();
4141
let wr = &mut mem as &mut dyn io::Write;
4242
for _ in 0..1000 {
43-
write!(wr, "{}", "abc").unwrap();
43+
write!(wr, "{}", black_box("abc")).unwrap();
4444
}
4545
});
4646
}
@@ -51,7 +51,7 @@ fn write_vec_macro_debug(bh: &mut Bencher) {
5151
let mut mem = Vec::new();
5252
let wr = &mut mem as &mut dyn io::Write;
5353
for _ in 0..1000 {
54-
write!(wr, "{:?}", "☃").unwrap();
54+
write!(wr, "{:?}", black_box("☃")).unwrap();
5555
}
5656
});
5757
}
@@ -61,7 +61,7 @@ fn write_str_value(bh: &mut Bencher) {
6161
bh.iter(|| {
6262
let mut mem = String::new();
6363
for _ in 0..1000 {
64-
mem.write_str("abc").unwrap();
64+
mem.write_str(black_box("abc")).unwrap();
6565
}
6666
});
6767
}
@@ -72,7 +72,7 @@ fn write_str_ref(bh: &mut Bencher) {
7272
let mut mem = String::new();
7373
let wr = &mut mem as &mut dyn fmt::Write;
7474
for _ in 0..1000 {
75-
wr.write_str("abc").unwrap();
75+
wr.write_str(black_box("abc")).unwrap();
7676
}
7777
});
7878
}
@@ -82,7 +82,7 @@ fn write_str_macro1(bh: &mut Bencher) {
8282
bh.iter(|| {
8383
let mut mem = String::new();
8484
for _ in 0..1000 {
85-
write!(mem, "abc").unwrap();
85+
write!(mem, "{}", black_box("abc")).unwrap();
8686
}
8787
});
8888
}
@@ -93,7 +93,7 @@ fn write_str_macro2(bh: &mut Bencher) {
9393
let mut mem = String::new();
9494
let wr = &mut mem as &mut dyn fmt::Write;
9595
for _ in 0..1000 {
96-
write!(wr, "{}", "abc").unwrap();
96+
write!(wr, "{}", black_box("abc")).unwrap();
9797
}
9898
});
9999
}
@@ -104,7 +104,7 @@ fn write_str_macro_debug(bh: &mut Bencher) {
104104
let mut mem = String::new();
105105
let wr = &mut mem as &mut dyn fmt::Write;
106106
for _ in 0..1000 {
107-
write!(wr, "{:?}", "☃").unwrap();
107+
write!(wr, "{:?}", black_box("☃")).unwrap();
108108
}
109109
});
110110
}
@@ -115,7 +115,7 @@ fn write_str_macro_debug_ascii(bh: &mut Bencher) {
115115
let mut mem = String::new();
116116
let wr = &mut mem as &mut dyn fmt::Write;
117117
for _ in 0..1000 {
118-
write!(wr, "{:?}", "Hello, World!").unwrap();
118+
write!(wr, "{:?}", black_box("Hello, World!")).unwrap();
119119
}
120120
});
121121
}
+12-12
Original file line numberDiff line numberDiff line change
@@ -1,57 +1,57 @@
1-
use test::Bencher;
1+
use test::{black_box, Bencher};
22

33
#[bench]
44
fn bench_0(b: &mut Bencher) {
5-
b.iter(|| "0.0".parse::<f64>());
5+
b.iter(|| black_box("0.0").parse::<f64>());
66
}
77

88
#[bench]
99
fn bench_42(b: &mut Bencher) {
10-
b.iter(|| "42".parse::<f64>());
10+
b.iter(|| black_box("42").parse::<f64>());
1111
}
1212

1313
#[bench]
1414
fn bench_huge_int(b: &mut Bencher) {
1515
// 2^128 - 1
16-
b.iter(|| "170141183460469231731687303715884105727".parse::<f64>());
16+
b.iter(|| black_box("170141183460469231731687303715884105727").parse::<f64>());
1717
}
1818

1919
#[bench]
2020
fn bench_short_decimal(b: &mut Bencher) {
21-
b.iter(|| "1234.5678".parse::<f64>());
21+
b.iter(|| black_box("1234.5678").parse::<f64>());
2222
}
2323

2424
#[bench]
2525
fn bench_pi_long(b: &mut Bencher) {
26-
b.iter(|| "3.14159265358979323846264338327950288".parse::<f64>());
26+
b.iter(|| black_box("3.14159265358979323846264338327950288").parse::<f64>());
2727
}
2828

2929
#[bench]
3030
fn bench_pi_short(b: &mut Bencher) {
31-
b.iter(|| "3.141592653589793".parse::<f64>())
31+
b.iter(|| black_box("3.141592653589793").parse::<f64>())
3232
}
3333

3434
#[bench]
3535
fn bench_1e150(b: &mut Bencher) {
36-
b.iter(|| "1e150".parse::<f64>());
36+
b.iter(|| black_box("1e150").parse::<f64>());
3737
}
3838

3939
#[bench]
4040
fn bench_long_decimal_and_exp(b: &mut Bencher) {
41-
b.iter(|| "727501488517303786137132964064381141071e-123".parse::<f64>());
41+
b.iter(|| black_box("727501488517303786137132964064381141071e-123").parse::<f64>());
4242
}
4343

4444
#[bench]
4545
fn bench_min_subnormal(b: &mut Bencher) {
46-
b.iter(|| "5e-324".parse::<f64>());
46+
b.iter(|| black_box("5e-324").parse::<f64>());
4747
}
4848

4949
#[bench]
5050
fn bench_min_normal(b: &mut Bencher) {
51-
b.iter(|| "2.2250738585072014e-308".parse::<f64>());
51+
b.iter(|| black_box("2.2250738585072014e-308").parse::<f64>());
5252
}
5353

5454
#[bench]
5555
fn bench_max(b: &mut Bencher) {
56-
b.iter(|| "1.7976931348623157e308".parse::<f64>());
56+
b.iter(|| black_box("1.7976931348623157e308").parse::<f64>());
5757
}

library/core/benches/num/flt2dec/mod.rs

+3-3
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@ use core::num::flt2dec::MAX_SIG_DIGITS;
77
use core::num::flt2dec::{decode, DecodableFloat, Decoded, FullDecoded};
88
use std::io::Write;
99
use std::vec::Vec;
10-
use test::Bencher;
10+
use test::{black_box, Bencher};
1111

1212
pub fn decode_finite<T: DecodableFloat>(v: T) -> Decoded {
1313
match decode(v).1 {
@@ -22,7 +22,7 @@ fn bench_small_shortest(b: &mut Bencher) {
2222

2323
b.iter(|| {
2424
buf.clear();
25-
write!(&mut buf, "{}", 3.1415926f64).unwrap()
25+
write!(black_box(&mut buf), "{}", black_box(3.1415926f64)).unwrap()
2626
});
2727
}
2828

@@ -32,6 +32,6 @@ fn bench_big_shortest(b: &mut Bencher) {
3232

3333
b.iter(|| {
3434
buf.clear();
35-
write!(&mut buf, "{}", f64::MAX).unwrap()
35+
write!(black_box(&mut buf), "{}", black_box(f64::MAX)).unwrap()
3636
});
3737
}

library/core/benches/num/mod.rs

+3-3
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@ mod flt2dec;
33
mod int_log;
44

55
use std::str::FromStr;
6-
use test::Bencher;
6+
use test::{black_box, Bencher};
77

88
const ASCII_NUMBERS: [&str; 19] = [
99
"0",
@@ -36,7 +36,7 @@ macro_rules! from_str_bench {
3636
.iter()
3737
.cycle()
3838
.take(5_000)
39-
.filter_map(|s| <$t>::from_str(s).ok())
39+
.filter_map(|s| <$t>::from_str(black_box(s)).ok())
4040
.max()
4141
})
4242
}
@@ -52,7 +52,7 @@ macro_rules! from_str_radix_bench {
5252
.iter()
5353
.cycle()
5454
.take(5_000)
55-
.filter_map(|s| <$t>::from_str_radix(s, $radix).ok())
55+
.filter_map(|s| <$t>::from_str_radix(black_box(s), $radix).ok())
5656
.max()
5757
})
5858
}

0 commit comments

Comments
 (0)