]> git.lizzy.rs Git - rust.git/blob - src/libcollections/benches/linked_list.rs
Rollup merge of #39604 - est31:i128_tests, r=alexcrichton
[rust.git] / src / libcollections / benches / linked_list.rs
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 std::collections::LinkedList;
12 use test::Bencher;
13
14 #[bench]
15 fn bench_collect_into(b: &mut Bencher) {
16     let v = &[0; 64];
17     b.iter(|| {
18         let _: LinkedList<_> = v.iter().cloned().collect();
19     })
20 }
21
22 #[bench]
23 fn bench_push_front(b: &mut Bencher) {
24     let mut m: LinkedList<_> = LinkedList::new();
25     b.iter(|| {
26         m.push_front(0);
27     })
28 }
29
30 #[bench]
31 fn bench_push_back(b: &mut Bencher) {
32     let mut m: LinkedList<_> = LinkedList::new();
33     b.iter(|| {
34         m.push_back(0);
35     })
36 }
37
38 #[bench]
39 fn bench_push_back_pop_back(b: &mut Bencher) {
40     let mut m: LinkedList<_> = LinkedList::new();
41     b.iter(|| {
42         m.push_back(0);
43         m.pop_back();
44     })
45 }
46
47 #[bench]
48 fn bench_push_front_pop_front(b: &mut Bencher) {
49     let mut m: LinkedList<_> = LinkedList::new();
50     b.iter(|| {
51         m.push_front(0);
52         m.pop_front();
53     })
54 }
55
56 #[bench]
57 fn bench_iter(b: &mut Bencher) {
58     let v = &[0; 128];
59     let m: LinkedList<_> = v.iter().cloned().collect();
60     b.iter(|| {
61         assert!(m.iter().count() == 128);
62     })
63 }
64 #[bench]
65 fn bench_iter_mut(b: &mut Bencher) {
66     let v = &[0; 128];
67     let mut m: LinkedList<_> = v.iter().cloned().collect();
68     b.iter(|| {
69         assert!(m.iter_mut().count() == 128);
70     })
71 }
72 #[bench]
73 fn bench_iter_rev(b: &mut Bencher) {
74     let v = &[0; 128];
75     let m: LinkedList<_> = v.iter().cloned().collect();
76     b.iter(|| {
77         assert!(m.iter().rev().count() == 128);
78     })
79 }
80 #[bench]
81 fn bench_iter_mut_rev(b: &mut Bencher) {
82     let v = &[0; 128];
83     let mut m: LinkedList<_> = v.iter().cloned().collect();
84     b.iter(|| {
85         assert!(m.iter_mut().rev().count() == 128);
86     })
87 }