]>
Commit | Line | Data |
---|---|---|
416331ca XL |
1 | use super::*; |
2 | ||
3 | extern crate test; | |
416331ca | 4 | use crate::boxed::Box; |
60c5eb7d | 5 | use test::Bencher; |
416331ca XL |
6 | |
7 | #[test] | |
8 | fn allocate_zeroed() { | |
9 | unsafe { | |
10 | let layout = Layout::from_size_align(1024, 1).unwrap(); | |
ba9703b0 XL |
11 | let memory = Global |
12 | .alloc(layout.clone(), AllocInit::Zeroed) | |
13 | .unwrap_or_else(|_| handle_alloc_error(layout)); | |
416331ca | 14 | |
ba9703b0 | 15 | let mut i = memory.ptr.cast::<u8>().as_ptr(); |
416331ca XL |
16 | let end = i.add(layout.size()); |
17 | while i < end { | |
18 | assert_eq!(*i, 0); | |
19 | i = i.offset(1); | |
20 | } | |
ba9703b0 | 21 | Global.dealloc(memory.ptr, layout); |
416331ca XL |
22 | } |
23 | } | |
24 | ||
25 | #[bench] | |
60c5eb7d | 26 | #[cfg_attr(miri, ignore)] // Miri does not support benchmarks |
416331ca XL |
27 | fn alloc_owned_small(b: &mut Bencher) { |
28 | b.iter(|| { | |
29 | let _: Box<_> = box 10; | |
30 | }) | |
31 | } |