The minimal amount of array allocations when looping is 1 for any number of passes, except for 1, where it's 0.
Given that this is expected to be a very common use case, it seems worth trying to special case it. However:
- I'd need a way to change the internal
convolve routine's signature such that it accepts an Array2 or an ArrayView2. Currently, I don't know how to do that
- in my attempt to quantify the overhead of this unecessary allocation, I estimated that it was at most 10% of the total time needed for a pass, so it may not be worth the complexity
The minimal amount of array allocations when looping is 1 for any number of passes, except for 1, where it's 0.
Given that this is expected to be a very common use case, it seems worth trying to special case it. However:
convolveroutine's signature such that it accepts anArray2or anArrayView2. Currently, I don't know how to do that