File tree Expand file tree Collapse file tree 3 files changed +54
-25
lines changed Expand file tree Collapse file tree 3 files changed +54
-25
lines changed Original file line number Diff line number Diff line change 1010
1111use test:: Bencher ;
1212
13- // Completely miscellaneous language-construct benchmarks.
1413// Static/dynamic method dispatch
1514
1615struct Struct {
@@ -43,27 +42,3 @@ fn trait_static_method_call(b: &mut Bencher) {
4342 s. method ( )
4443 } ) ;
4544}
46-
47- // Overhead of various match forms
48-
49- #[ bench]
50- fn match_option_some ( b : & mut Bencher ) {
51- let x = Some ( 10 ) ;
52- b. iter ( || {
53- match x {
54- Some ( y) => y,
55- None => 11
56- }
57- } ) ;
58- }
59-
60- #[ bench]
61- fn match_vec_pattern ( b : & mut Bencher ) {
62- let x = [ 1 , 2 , 3 , 4 , 5 , 6 ] ;
63- b. iter ( || {
64- match x {
65- [ 1 , 2 , 3 , ..] => 10 ,
66- _ => 11 ,
67- }
68- } ) ;
69- }
Original file line number Diff line number Diff line change 1+ // Copyright 2017 The Rust Project Developers. See the COPYRIGHT
2+ // file at the top-level directory of this distribution and at
3+ // http://rust-lang.org/COPYRIGHT.
4+ //
5+ // Licensed under the Apache License, Version 2.0 <LICENSE-APACHE or
6+ // http://www.apache.org/licenses/LICENSE-2.0> or the MIT license
7+ // <LICENSE-MIT or http://opensource.org/licenses/MIT>, at your
8+ // option. This file may not be copied, modified, or distributed
9+ // except according to those terms.
10+
11+ #![ deny( warnings) ]
12+
13+ #![ feature( slice_patterns) ]
14+ #![ feature( test) ]
15+
16+ extern crate test;
17+
18+ mod dispatch;
19+ mod match;
Original file line number Diff line number Diff line change 1+ // Copyright 2017 The Rust Project Developers. See the COPYRIGHT
2+ // file at the top-level directory of this distribution and at
3+ // http://rust-lang.org/COPYRIGHT.
4+ //
5+ // Licensed under the Apache License, Version 2.0 <LICENSE-APACHE or
6+ // http://www.apache.org/licenses/LICENSE-2.0> or the MIT license
7+ // <LICENSE-MIT or http://opensource.org/licenses/MIT>, at your
8+ // option. This file may not be copied, modified, or distributed
9+ // except according to those terms.
10+
11+ use test:: Bencher ;
12+
13+ // Overhead of various match forms
14+
15+ #[ bench]
16+ fn option_some ( b : & mut Bencher ) {
17+ let x = Some ( 10 ) ;
18+ b. iter ( || {
19+ match x {
20+ Some ( y) => y,
21+ None => 11
22+ }
23+ } ) ;
24+ }
25+
26+ #[ bench]
27+ fn vec_pattern ( b : & mut Bencher ) {
28+ let x = [ 1 , 2 , 3 , 4 , 5 , 6 ] ;
29+ b. iter ( || {
30+ match x {
31+ [ 1 , 2 , 3 , ..] => 10 ,
32+ _ => 11 ,
33+ }
34+ } ) ;
35+ }
You can’t perform that action at this time.
0 commit comments