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)9fn 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)16fn 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)23fn 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)32fn 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)42fn 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)52fn 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)64fn 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)75fn 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)84fn 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)93fn 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)102fn 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)111fn 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)120fn 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)129fn 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)138fn 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)147fn 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