11use  std:: fmt:: { self ,  Write  as  FmtWrite } ; 
22use  std:: io:: { self ,  Write  as  IoWrite } ; 
3- use  test:: Bencher ; 
3+ use  test:: { black_box ,   Bencher } ; 
44
55#[ bench]  
66fn  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} 
0 commit comments