diff options
| author | Stein Somers <git@steinsomers.be> | 2019-11-14 00:32:36 +0100 |
|---|---|---|
| committer | Stein Somers <git@steinsomers.be> | 2019-11-14 12:59:35 +0100 |
| commit | 4decb58a64fd3d0a0da5cbea4a77327996cbe44a (patch) | |
| tree | 0eaf1df1090833002a4e3539eefd9ac2337d64e9 /src/libstd/collections | |
| parent | a2491ee4e6c74451371aee8f4a2a5786d7a35406 (diff) | |
| download | rust-4decb58a64fd3d0a0da5cbea4a77327996cbe44a.tar.gz rust-4decb58a64fd3d0a0da5cbea4a77327996cbe44a.zip | |
introduce benchmarks of HashSet operations
Diffstat (limited to 'src/libstd/collections')
| -rw-r--r-- | src/libstd/collections/hash/bench.rs | 116 | ||||
| -rw-r--r-- | src/libstd/collections/hash/mod.rs | 1 |
2 files changed, 0 insertions, 117 deletions
diff --git a/src/libstd/collections/hash/bench.rs b/src/libstd/collections/hash/bench.rs deleted file mode 100644 index 7f5add05436..00000000000 --- a/src/libstd/collections/hash/bench.rs +++ /dev/null @@ -1,116 +0,0 @@ -#![cfg(test)] - -use test::Bencher; - -#[bench] -fn new_drop(b: &mut Bencher) { - use super::map::HashMap; - - b.iter(|| { - let m: HashMap<i32, i32> = HashMap::new(); - assert_eq!(m.len(), 0); - }) -} - -#[bench] -fn new_insert_drop(b: &mut Bencher) { - use super::map::HashMap; - - b.iter(|| { - let mut m = HashMap::new(); - m.insert(0, 0); - assert_eq!(m.len(), 1); - }) -} - -#[bench] -fn grow_by_insertion(b: &mut Bencher) { - use super::map::HashMap; - - let mut m = HashMap::new(); - - for i in 1..1001 { - m.insert(i, i); - } - - let mut k = 1001; - - b.iter(|| { - m.insert(k, k); - k += 1; - }); -} - -#[bench] -fn find_existing(b: &mut Bencher) { - use super::map::HashMap; - - let mut m = HashMap::new(); - - for i in 1..1001 { - m.insert(i, i); - } - - b.iter(|| { - for i in 1..1001 { - m.contains_key(&i); - } - }); -} - -#[bench] -fn find_nonexisting(b: &mut Bencher) { - use super::map::HashMap; - - let mut m = HashMap::new(); - - for i in 1..1001 { - m.insert(i, i); - } - - b.iter(|| { - for i in 1001..2001 { - m.contains_key(&i); - } - }); -} - -#[bench] -fn hashmap_as_queue(b: &mut Bencher) { - use super::map::HashMap; - - let mut m = HashMap::new(); - - for i in 1..1001 { - m.insert(i, i); - } - - let mut k = 1; - - b.iter(|| { - m.remove(&k); - m.insert(k + 1000, k + 1000); - k += 1; - }); -} - -#[bench] -fn get_remove_insert(b: &mut Bencher) { - use super::map::HashMap; - - let mut m = HashMap::new(); - - for i in 1..1001 { - m.insert(i, i); - } - - let mut k = 1; - - b.iter(|| { - m.get(&(k + 400)); - m.get(&(k + 2000)); - m.remove(&k); - m.insert(k + 1000, k + 1000); - k += 1; - }) -} diff --git a/src/libstd/collections/hash/mod.rs b/src/libstd/collections/hash/mod.rs index a6d89a4d32a..348820af54b 100644 --- a/src/libstd/collections/hash/mod.rs +++ b/src/libstd/collections/hash/mod.rs @@ -1,5 +1,4 @@ //! Unordered containers, implemented as hash-tables -mod bench; pub mod map; pub mod set; |
