]>
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(); | |
3dfed10e | 11 | let ptr = |
fc512014 | 12 | Global.allocate_zeroed(layout.clone()).unwrap_or_else(|_| handle_alloc_error(layout)); |
416331ca | 13 | |
3dfed10e | 14 | let mut i = ptr.as_non_null_ptr().as_ptr(); |
416331ca XL |
15 | let end = i.add(layout.size()); |
16 | while i < end { | |
17 | assert_eq!(*i, 0); | |
18 | i = i.offset(1); | |
19 | } | |
fc512014 | 20 | Global.deallocate(ptr.as_non_null_ptr(), layout); |
416331ca XL |
21 | } |
22 | } | |
23 | ||
24 | #[bench] | |
f9f354fc | 25 | #[cfg_attr(miri, ignore)] // isolated Miri does not support benchmarks |
416331ca XL |
26 | fn alloc_owned_small(b: &mut Bencher) { |
27 | b.iter(|| { | |
28 | let _: Box<_> = box 10; | |
29 | }) | |
30 | } |