Skip to content

Commit fadb362

Browse files
authored
Merge pull request rust-lang#98 from bluss/bench-compile-fix
Fix compliation of benches with rand 0.6
2 parents c9fb28f + d907ad0 commit fadb362

File tree

3 files changed

+21
-12
lines changed

3 files changed

+21
-12
lines changed

.travis.yml

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -15,6 +15,8 @@ matrix:
1515
- FEATURES='rayon'
1616
- rust: beta
1717
- rust: nightly
18+
env:
19+
- TEST_BENCH=1
1820
- rust: nightly
1921
env:
2022
- FEATURES='test_low_transition_point'
@@ -28,4 +30,7 @@ script:
2830
cargo test --verbose --features "$FEATURES" &&
2931
cargo test --release --verbose --features "$FEATURES"
3032
fi &&
33+
if [ -n "$TEST_BENCH" ]; then
34+
cargo test -v --benches --no-run --features "$FEATURES"
35+
fi &&
3136
cargo doc --verbose --features "$FEATURES"

benches/bench.rs

Lines changed: 12 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,9 @@ use indexmap::IndexMap;
2020
use std::collections::HashMap;
2121
use std::iter::FromIterator;
2222

23-
use rand::{weak_rng, Rng};
23+
use rand::rngs::SmallRng;
24+
use rand::FromEntropy;
25+
use rand::seq::SliceRandom;
2426

2527
#[bench]
2628
fn new_hashmap(b: &mut Bencher) {
@@ -286,8 +288,8 @@ fn shuffled_keys<I>(iter: I) -> Vec<I::Item>
286288
where I: IntoIterator
287289
{
288290
let mut v = Vec::from_iter(iter);
289-
let mut rng = weak_rng();
290-
rng.shuffle(&mut v);
291+
let mut rng = SmallRng::from_entropy();
292+
v.shuffle(&mut rng);
291293
v
292294
}
293295

@@ -533,11 +535,11 @@ fn hashmap_merge_shuffle(b: &mut Bencher) {
533535
let first_map: HashMap<u64, _> = (0..MERGE).map(|i| (i, ())).collect();
534536
let second_map: HashMap<u64, _> = (MERGE..MERGE * 2).map(|i| (i, ())).collect();
535537
let mut v = Vec::new();
536-
let mut rng = weak_rng();
538+
let mut rng = SmallRng::from_entropy();
537539
b.iter(|| {
538540
let mut merged = first_map.clone();
539541
v.extend(second_map.iter().map(|(&k, &v)| (k, v)));
540-
rng.shuffle(&mut v);
542+
v.shuffle(&mut rng);
541543
merged.extend(v.drain(..));
542544

543545
merged
@@ -560,11 +562,11 @@ fn ordermap_merge_shuffle(b: &mut Bencher) {
560562
let first_map: IndexMap<u64, _> = (0..MERGE).map(|i| (i, ())).collect();
561563
let second_map: IndexMap<u64, _> = (MERGE..MERGE * 2).map(|i| (i, ())).collect();
562564
let mut v = Vec::new();
563-
let mut rng = weak_rng();
565+
let mut rng = SmallRng::from_entropy();
564566
b.iter(|| {
565567
let mut merged = first_map.clone();
566568
v.extend(second_map.iter().map(|(&k, &v)| (k, v)));
567-
rng.shuffle(&mut v);
569+
v.shuffle(&mut rng);
568570
merged.extend(v.drain(..));
569571

570572
merged
@@ -575,12 +577,13 @@ fn ordermap_merge_shuffle(b: &mut Bencher) {
575577
fn remove_ordermap_100_000(b: &mut Bencher) {
576578
let map = OMAP_100K.clone();
577579
let mut keys = Vec::from_iter(map.keys().cloned());
578-
weak_rng().shuffle(&mut keys);
580+
let mut rng = SmallRng::from_entropy();
581+
keys.shuffle(&mut rng);
579582

580583
b.iter(|| {
581584
let mut map = map.clone();
582585
for key in &keys {
583-
map.remove(key).is_some();
586+
map.remove(key);
584587
}
585588
assert_eq!(map.len(), 0);
586589
map

benches/faststring.rs

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,8 @@ use indexmap::IndexMap;
1212
use std::collections::HashMap;
1313
use std::iter::FromIterator;
1414

15-
use rand::{weak_rng, Rng};
15+
use rand::thread_rng;
16+
use rand::seq::SliceRandom;
1617

1718
use std::hash::{Hash, Hasher};
1819

@@ -68,8 +69,8 @@ fn shuffled_keys<I>(iter: I) -> Vec<I::Item>
6869
where I: IntoIterator
6970
{
7071
let mut v = Vec::from_iter(iter);
71-
let mut rng = weak_rng();
72-
rng.shuffle(&mut v);
72+
let mut rng = thread_rng();
73+
v.shuffle(&mut rng);
7374
v
7475
}
7576

0 commit comments

Comments
 (0)