(total_elements: usize)
| 83 | } |
| 84 | |
| 85 | fn benchmark_hashset_lookup(total_elements: usize) -> (std::time::Duration, usize) { |
| 86 | let mut hash_set = HashSet::new(); |
| 87 | |
| 88 | // Populate the set |
| 89 | for i in 0..total_elements { |
| 90 | hash_set.insert(i); |
| 91 | } |
| 92 | |
| 93 | // Benchmark lookups |
| 94 | let start = Instant::now(); |
| 95 | let lookups = (0..total_elements) |
| 96 | .filter(|&i| hash_set.contains(&i)) |
| 97 | .count(); |
| 98 | let duration = start.elapsed(); |
| 99 | |
| 100 | (duration, lookups) |
| 101 | } |
| 102 | |
| 103 | fn main() { |
| 104 | let total_elements = 5000; |