Skip to content

PERF: avoiding an array copy for single-pass convolution #85

Description

@neutrinoceros

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

Metadata

Metadata

Assignees

No one assigned

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions