提交 58bb603e 编写于 作者: B bors

auto merge of #16651 : vks/rust/fix-bitv-bench, r=alexcrichton

Fixes #12118.

(I sneaked in an unrelated one-character whitespace fix I spotted while reviewing some benchmarks, if that is not okay, I can create a separate pull request for that.)
......@@ -563,7 +563,7 @@ pub fn bench_copy_old_arena(b: &mut Bencher) {
struct Noncopy {
string: String,
array: Vec<int> ,
array: Vec<int>,
}
#[test]
......
......@@ -2566,7 +2566,9 @@ fn bench_uint_small(b: &mut Bencher) {
let mut r = rng();
let mut bitv = 0 as uint;
b.iter(|| {
for _ in range(0u, 100) {
bitv |= 1 << ((r.next_u32() as uint) % uint::BITS);
}
&bitv
})
}
......@@ -2576,7 +2578,9 @@ fn bench_bitv_big(b: &mut Bencher) {
let mut r = rng();
let mut bitv = Bitv::with_capacity(BENCH_BITS, false);
b.iter(|| {
for _ in range(0u, 100) {
bitv.set((r.next_u32() as uint) % BENCH_BITS, true);
}
&bitv
})
}
......@@ -2586,7 +2590,9 @@ fn bench_bitv_small(b: &mut Bencher) {
let mut r = rng();
let mut bitv = Bitv::with_capacity(uint::BITS, false);
b.iter(|| {
for _ in range(0u, 100) {
bitv.set((r.next_u32() as uint) % uint::BITS, true);
}
&bitv
})
}
......@@ -2596,7 +2602,9 @@ fn bench_bitv_set_small(b: &mut Bencher) {
let mut r = rng();
let mut bitv = BitvSet::new();
b.iter(|| {
for _ in range(0u, 100) {
bitv.insert((r.next_u32() as uint) % uint::BITS);
}
&bitv
})
}
......@@ -2606,7 +2614,9 @@ fn bench_bitv_set_big(b: &mut Bencher) {
let mut r = rng();
let mut bitv = BitvSet::new();
b.iter(|| {
for _ in range(0u, 100) {
bitv.insert((r.next_u32() as uint) % BENCH_BITS);
}
&bitv
})
}
......@@ -2616,18 +2626,21 @@ fn bench_bitv_big_union(b: &mut Bencher) {
let mut b1 = Bitv::with_capacity(BENCH_BITS, false);
let b2 = Bitv::with_capacity(BENCH_BITS, false);
b.iter(|| {
b1.union(&b2);
b1.union(&b2)
})
}
#[bench]
fn bench_btv_small_iter(b: &mut Bencher) {
fn bench_bitv_small_iter(b: &mut Bencher) {
let bitv = Bitv::with_capacity(uint::BITS, false);
b.iter(|| {
let mut _sum = 0;
let mut sum = 0;
for _ in range(0u, 10) {
for pres in bitv.iter() {
_sum += pres as uint;
sum += pres as uint;
}
}
sum
})
}
......@@ -2635,10 +2648,11 @@ fn bench_btv_small_iter(b: &mut Bencher) {
fn bench_bitv_big_iter(b: &mut Bencher) {
let bitv = Bitv::with_capacity(BENCH_BITS, false);
b.iter(|| {
let mut _sum = 0;
let mut sum = 0;
for pres in bitv.iter() {
_sum += pres as uint;
sum += pres as uint;
}
sum
})
}
......@@ -2647,10 +2661,11 @@ fn bench_bitvset_iter(b: &mut Bencher) {
let bitv = BitvSet::from_bitv(from_fn(BENCH_BITS,
|idx| {idx % 3 == 0}));
b.iter(|| {
let mut _sum = 0;
let mut sum = 0;
for idx in bitv.iter() {
_sum += idx;
sum += idx;
}
sum
})
}
}
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册