The call to savgol_filter using a matrix-based convolution known as a toeplitz matrix to implement the filter. This has the advantage of being able to use BLAS (possibly even cuBLAS) for data parallelization for speed improvements. The filter should switch to a direct convolution when the data length exceeds ~1000 to avoid a large and very space matrix still requiring dense multiplications. Sparce representations would be another way to speed it up but with way more effort.
The call to savgol_filter using a matrix-based convolution known as a toeplitz matrix to implement the filter. This has the advantage of being able to use BLAS (possibly even cuBLAS) for data parallelization for speed improvements. The filter should switch to a direct convolution when the data length exceeds ~1000 to avoid a large and very space matrix still requiring dense multiplications. Sparce representations would be another way to speed it up but with way more effort.