1 #![feature(test)]
2 
3 extern crate test;
4 
5 use sysinfo::get_current_pid;
6 use sysinfo::{DiskExt, SystemExt};
7 
8 #[bench]
bench_new(b: &mut test::Bencher)9 fn bench_new(b: &mut test::Bencher) {
10     b.iter(|| {
11         sysinfo::System::new();
12     });
13 }
14 
15 #[bench]
bench_new_all(b: &mut test::Bencher)16 fn bench_new_all(b: &mut test::Bencher) {
17     b.iter(|| {
18         sysinfo::System::new_all();
19     });
20 }
21 
22 #[bench]
bench_refresh_all(b: &mut test::Bencher)23 fn bench_refresh_all(b: &mut test::Bencher) {
24     let mut s = sysinfo::System::new_all();
25 
26     b.iter(move || {
27         s.refresh_all();
28     });
29 }
30 
31 #[bench]
bench_refresh_system(b: &mut test::Bencher)32 fn bench_refresh_system(b: &mut test::Bencher) {
33     let mut s = sysinfo::System::new_all();
34 
35     s.refresh_system();
36     b.iter(move || {
37         s.refresh_system();
38     });
39 }
40 
41 #[bench]
bench_refresh_processes(b: &mut test::Bencher)42 fn bench_refresh_processes(b: &mut test::Bencher) {
43     let mut s = sysinfo::System::new();
44 
45     s.refresh_processes(); // to load the whole processes list a first time.
46     b.iter(move || {
47         s.refresh_processes();
48     });
49 }
50 
51 #[bench]
bench_refresh_process(b: &mut test::Bencher)52 fn bench_refresh_process(b: &mut test::Bencher) {
53     let mut s = sysinfo::System::new();
54 
55     s.refresh_all();
56     // to be sure it'll exist for at least as long as we run
57     let pid = get_current_pid().expect("failed to get current pid");
58     b.iter(move || {
59         s.refresh_process(pid);
60     });
61 }
62 
63 #[bench]
bench_refresh_disk(b: &mut test::Bencher)64 fn bench_refresh_disk(b: &mut test::Bencher) {
65     let mut s = sysinfo::System::new_all();
66 
67     let disks = s.disks_mut();
68     let disk = &mut disks[0];
69     b.iter(move || {
70         disk.refresh();
71     });
72 }
73 
74 #[bench]
bench_refresh_disks(b: &mut test::Bencher)75 fn bench_refresh_disks(b: &mut test::Bencher) {
76     let mut s = sysinfo::System::new_all();
77 
78     b.iter(move || {
79         s.refresh_disks();
80     });
81 }
82 
83 #[bench]
bench_refresh_disks_list(b: &mut test::Bencher)84 fn bench_refresh_disks_list(b: &mut test::Bencher) {
85     let mut s = sysinfo::System::new();
86 
87     b.iter(move || {
88         s.refresh_disks_list();
89     });
90 }
91 
92 #[bench]
bench_refresh_networks(b: &mut test::Bencher)93 fn bench_refresh_networks(b: &mut test::Bencher) {
94     let mut s = sysinfo::System::new_all();
95 
96     b.iter(move || {
97         s.refresh_networks();
98     });
99 }
100 
101 #[bench]
bench_refresh_networks_list(b: &mut test::Bencher)102 fn bench_refresh_networks_list(b: &mut test::Bencher) {
103     let mut s = sysinfo::System::new();
104 
105     b.iter(move || {
106         s.refresh_networks_list();
107     });
108 }
109 
110 #[bench]
bench_refresh_memory(b: &mut test::Bencher)111 fn bench_refresh_memory(b: &mut test::Bencher) {
112     let mut s = sysinfo::System::new();
113 
114     b.iter(move || {
115         s.refresh_memory();
116     });
117 }
118 
119 #[bench]
bench_refresh_cpu(b: &mut test::Bencher)120 fn bench_refresh_cpu(b: &mut test::Bencher) {
121     let mut s = sysinfo::System::new();
122 
123     b.iter(move || {
124         s.refresh_cpu();
125     });
126 }
127 
128 #[bench]
bench_refresh_components(b: &mut test::Bencher)129 fn bench_refresh_components(b: &mut test::Bencher) {
130     let mut s = sysinfo::System::new_all();
131 
132     b.iter(move || {
133         s.refresh_components();
134     });
135 }
136 
137 #[bench]
bench_refresh_components_list(b: &mut test::Bencher)138 fn bench_refresh_components_list(b: &mut test::Bencher) {
139     let mut s = sysinfo::System::new_all();
140 
141     b.iter(move || {
142         s.refresh_components_list();
143     });
144 }
145 
146 #[bench]
bench_refresh_users_list(b: &mut test::Bencher)147 fn bench_refresh_users_list(b: &mut test::Bencher) {
148     let mut s = sysinfo::System::new_all();
149 
150     b.iter(move || {
151         s.refresh_users_list();
152     });
153 }
154