Skip to content

Commit 21a1ed6

Browse files
committed
Cleanup Interpolator
1 parent 4de11d5 commit 21a1ed6

File tree

4 files changed

+178
-409
lines changed

4 files changed

+178
-409
lines changed

benches/interp.rs

Lines changed: 17 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -31,11 +31,7 @@ pub fn criterion_benchmark(c: &mut Criterion) {
3131
}
3232
group.bench_function("Rust", |b| {
3333
b.iter(|| {
34-
let interp = interp::Interp::new(
35-
black_box(49),
36-
black_box(data_out.len() / data.len()),
37-
black_box(2),
38-
);
34+
let interp = interp::Interp2F::<[f32; 4]>::new();
3935
drop(black_box(interp));
4036
})
4137
});
@@ -59,14 +55,16 @@ pub fn criterion_benchmark(c: &mut Criterion) {
5955
interp::interp_destroy_c(interp);
6056
}
6157
{
62-
let mut interp = interp::Interp::new(
63-
black_box(49),
64-
black_box(data_out.len() / data.len()),
65-
black_box(2),
66-
);
58+
let mut interp = interp::Interp2F::new();
59+
let (_, data, _) = unsafe { data.align_to::<[f32; 2]>() };
60+
let (_, data_out, _) = unsafe { data_out.align_to_mut::<[f32; 2]>() };
6761
group.bench_function("Rust", |b| {
6862
b.iter(|| {
69-
interp.process(&data, &mut data_out);
63+
for (input_frame, output_frames) in
64+
Iterator::zip(data.iter(), data_out.chunks_exact_mut(2))
65+
{
66+
output_frames.copy_from_slice(&interp.push(*input_frame));
67+
}
7068
})
7169
});
7270
}
@@ -91,14 +89,16 @@ pub fn criterion_benchmark(c: &mut Criterion) {
9189
interp::interp_destroy_c(interp);
9290
}
9391
{
94-
let mut interp = interp::Interp::new(
95-
black_box(49),
96-
black_box(data_out.len() / data.len()),
97-
black_box(2),
98-
);
92+
let mut interp = interp::Interp4F::new();
93+
let (_, data, _) = unsafe { data.align_to::<[f32; 2]>() };
94+
let (_, data_out, _) = unsafe { data_out.align_to_mut::<[f32; 2]>() };
9995
group.bench_function("Rust", |b| {
10096
b.iter(|| {
101-
interp.process(&data, &mut data_out);
97+
for (input_frame, output_frames) in
98+
Iterator::zip(data.iter(), data_out.chunks_exact_mut(4))
99+
{
100+
output_frames.copy_from_slice(&interp.push(*input_frame));
101+
}
102102
})
103103
});
104104
}

0 commit comments

Comments
 (0)