Skip to content

Commit 5a54abe

Browse files
committed
cleanup
1 parent c8c5b53 commit 5a54abe

File tree

2 files changed

+38
-43
lines changed

2 files changed

+38
-43
lines changed

examples/memcpy_bench/src/main.rs

Lines changed: 38 additions & 40 deletions
Original file line numberDiff line numberDiff line change
@@ -15,51 +15,49 @@ fn psp_main() {
1515
sys::sceKernelChangeCurrentThreadAttr(0, ThreadAttributes::VFPU);
1616
}
1717

18-
let mut size = 16;
19-
let mut cpu_dur = Duration::default();
20-
let mut cpu32_dur = Duration::default();
21-
let mut dmac_dur = Duration::default();
22-
let mut vfpu_dur = Duration::default();
23-
//loop {
24-
let src = unsafe { alloc::alloc::alloc(Layout::from_size_align_unchecked(size, 16)) };
25-
let dst = unsafe { alloc::alloc::alloc(Layout::from_size_align_unchecked(size, 16)) };
26-
cpu_dur = psp::benchmark(|| {
27-
for _ in 0..1000 {
28-
unsafe { memcpy(dst, src as *const u8, size); }
29-
}
30-
}, 10);
18+
let size = 16;
19+
let iterations = 1000;
20+
let cpu_dur: Duration;
21+
let cpu32_dur: Duration;
22+
let dmac_dur: Duration;
23+
let vfpu_dur: Duration;
3124

32-
cpu32_dur = psp::benchmark(|| {
33-
for _ in 0..1000 {
34-
unsafe { memcpy32(dst, src as *const u8, size); }
35-
}
36-
}, 10);
25+
let src = unsafe { alloc::alloc::alloc(Layout::from_size_align_unchecked(size, 16)) };
26+
let dst = unsafe { alloc::alloc::alloc(Layout::from_size_align_unchecked(size, 16)) };
27+
cpu_dur = psp::benchmark(|| {
28+
for _ in 0..iterations {
29+
unsafe { memcpy(dst, src as *const u8, size); }
30+
}
31+
}, 10);
3732

33+
cpu32_dur = psp::benchmark(|| {
34+
for _ in 0..iterations {
35+
unsafe { memcpy32(dst, src as *const u8, size); }
36+
}
37+
}, 10);
3838

39-
dmac_dur = psp::benchmark(|| {
40-
for _ in 0..1000 {
41-
unsafe { psp::sys::sceDmacMemcpy(dst, src as *const u8, size); }
42-
}
43-
}, 10);
4439

45-
vfpu_dur = psp::benchmark(|| {
46-
for _ in 0..1000 {
47-
unsafe { psp::sys::sceVfpuMemcpy(dst, src as *const u8, size); }
48-
}
49-
}, 10);
40+
dmac_dur = psp::benchmark(|| {
41+
for _ in 0..iterations {
42+
unsafe { psp::sys::sceDmacMemcpy(dst, src as *const u8, size); }
43+
}
44+
}, 10);
5045

51-
unsafe { alloc::alloc::dealloc(src, Layout::from_size_align_unchecked(size, 16)); }
52-
unsafe { alloc::alloc::dealloc(dst, Layout::from_size_align_unchecked(size, 16)); }
53-
//if dmac_dur < cpu32_dur {
54-
//break;
55-
//}
56-
//size += 16
57-
//}
58-
psp::dprintln!("size: {}", size);
59-
psp::dprintln!("cpu: {}", cpu_dur.as_nanos());
60-
psp::dprintln!("cpu32: {}", cpu32_dur.as_nanos());
61-
psp::dprintln!("dmac: {}", dmac_dur.as_nanos());
62-
psp::dprintln!("vfpu: {}", vfpu_dur.as_nanos());
46+
vfpu_dur = psp::benchmark(|| {
47+
for _ in 0..iterations {
48+
unsafe { psp::sys::sceVfpuMemcpy(dst, src as *const u8, size); }
49+
}
50+
}, 10);
51+
52+
unsafe { alloc::alloc::dealloc(src, Layout::from_size_align_unchecked(size, 16)); }
53+
unsafe { alloc::alloc::dealloc(dst, Layout::from_size_align_unchecked(size, 16)); }
54+
55+
psp::dprintln!("size: {} bytes", size);
56+
psp::dprintln!("iterations: {}", iterations);
57+
psp::dprintln!("cpu: {} microseconds", cpu_dur.as_micros());
58+
psp::dprintln!("cpu32: {} microseconds", cpu32_dur.as_micros());
59+
psp::dprintln!("dmac: {} microseconds", dmac_dur.as_micros());
60+
psp::dprintln!("vfpu: {} microseconds", vfpu_dur.as_micros());
6361
}
6462

6563
unsafe fn memcpy(dst: *mut u8, src: *const u8, num: usize) -> *mut u8 {

psp/src/sys/vfpu.rs

Lines changed: 0 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -12,9 +12,6 @@ pub unsafe extern "C" fn sceVfpuMemcpy(
1212
let mut dst8 = dst;
1313
let mut src8 = src;
1414

15-
let mut dst32 = dst8 as *mut u32;
16-
let mut src32 = src8 as *const u32;
17-
1815
if ((src8 as u32)&0xF) == 0 //Both src and dst are 16byte aligned
1916
{
2017
while size > 63 {

0 commit comments

Comments
 (0)