# dsp::Oversampling class performance

**URL:** <https://forum.juce.com/t/dsp-oversampling-class-performance/40000>\
**Category:** Audio Plugins\
**Created:** [June 9, 2020, 2:53pm UTC](https://forum.juce.com/t/dsp-oversampling-class-performance/40000 "2020-06-09T14:53:29Z")\
**Posts on this page:** 1\
**Showing post:** 12

<div class="post-metadata">

**Author:** ![pflugshaupt](https://sea2.discourse-cdn.com/flex026/user_avatar/forum.juce.com/pflugshaupt/32/13206_2.png) [@pflugshaupt](https://forum.juce.com/u/pflugshaupt)\
**Post date:** [June 12, 2020, 5:49am UTC](https://forum.juce.com/t/dsp-oversampling-class-performance/40000/12 "2020-06-12T05:49:00Z")

</div>

Yes. I’ve had this discussion before here. The issue was performance from using double operations and compatibility with the juce SIMD types for multi-channel operation. So nothing got changed and I made a patched version for my own usage that uses double operations as well as doing the two parallel structures at the same time using SIMD.

> [@Oversampling efficiency](https://forum.juce.com/t/oversampling-efficiency/33419/6):
>
> I had another look and a good reason is only having to read samples from memory once instead of going through the buffer for each stage. However, it would be easily possible to just use one loop for both the direct and the delayed stages. NumStages is always even, so both loops iterate the same number of times. That might even give the compiler a chance to do that SIMD optimization for us as it’s two times the same independent code in a loop. Even better would be a template solution where num…

> [@\[DSP module discussion\] New Oversampling class](https://forum.juce.com/t/dsp-module-discussion-new-oversampling-class/24153/43):
>
> I think big gains (x2) could be achieved by using the parallel property of the IIR multi-phase filters. It’s two independent filters in parallel outputting interleaved samples, so they can be calculated at the same time using SIMD. The FIR filter could also be done using SIMD and could scale even more than 2-fold as it’s parallel by design. This would all apply to single-channel oversampling and by extension also multi-channel. Of course, the internal processing loop is the most important thing…

---

_[View the full topic](https://forum.juce.com/t/dsp-oversampling-class-performance/40000)._
