arena: use the generic bh.iter
to stop the benchmarks being DCE'd.
Before: test test::bench_nonpod_nonarena ... bench: 62 ns/iter (+/- 6) test test::bench_pod_nonarena ... bench: 0 ns/iter (+/- 0) After: test test::bench_nonpod_nonarena ... bench: 158 ns/iter (+/- 11) test test::bench_pod_nonarena ... bench: 48 ns/iter (+/- 2) The other tests show no change, but are adjusted to use the generic return value of `.iter` anyway so that this doesn't change in future.
This commit is contained in:
parent
b029a18820
commit
38447344f1
@ -536,18 +536,18 @@ mod test {
|
|||||||
x: 1,
|
x: 1,
|
||||||
y: 2,
|
y: 2,
|
||||||
z: 3,
|
z: 3,
|
||||||
});
|
})
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
|
|
||||||
#[bench]
|
#[bench]
|
||||||
pub fn bench_pod_nonarena(bh: &mut BenchHarness) {
|
pub fn bench_pod_nonarena(bh: &mut BenchHarness) {
|
||||||
bh.iter(|| {
|
bh.iter(|| {
|
||||||
let _ = ~Point {
|
~Point {
|
||||||
x: 1,
|
x: 1,
|
||||||
y: 2,
|
y: 2,
|
||||||
z: 3,
|
z: 3,
|
||||||
};
|
}
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -561,7 +561,7 @@ mod test {
|
|||||||
y: 2,
|
y: 2,
|
||||||
z: 3,
|
z: 3,
|
||||||
}
|
}
|
||||||
});
|
})
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -588,17 +588,17 @@ mod test {
|
|||||||
arena.alloc(Nonpod {
|
arena.alloc(Nonpod {
|
||||||
string: ~"hello world",
|
string: ~"hello world",
|
||||||
array: ~[ 1, 2, 3, 4, 5 ],
|
array: ~[ 1, 2, 3, 4, 5 ],
|
||||||
});
|
})
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
|
|
||||||
#[bench]
|
#[bench]
|
||||||
pub fn bench_nonpod_nonarena(bh: &mut BenchHarness) {
|
pub fn bench_nonpod_nonarena(bh: &mut BenchHarness) {
|
||||||
bh.iter(|| {
|
bh.iter(|| {
|
||||||
let _ = ~Nonpod {
|
~Nonpod {
|
||||||
string: ~"hello world",
|
string: ~"hello world",
|
||||||
array: ~[ 1, 2, 3, 4, 5 ],
|
array: ~[ 1, 2, 3, 4, 5 ],
|
||||||
};
|
}
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -606,10 +606,10 @@ mod test {
|
|||||||
pub fn bench_nonpod_old_arena(bh: &mut BenchHarness) {
|
pub fn bench_nonpod_old_arena(bh: &mut BenchHarness) {
|
||||||
let arena = Arena::new();
|
let arena = Arena::new();
|
||||||
bh.iter(|| {
|
bh.iter(|| {
|
||||||
let _ = arena.alloc(|| Nonpod {
|
arena.alloc(|| Nonpod {
|
||||||
string: ~"hello world",
|
string: ~"hello world",
|
||||||
array: ~[ 1, 2, 3, 4, 5 ],
|
array: ~[ 1, 2, 3, 4, 5 ],
|
||||||
});
|
})
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user