SplineResampler - possible further improvements #139
Labels
Feature: Signal Processing 🎛️
Something related to signal processing
Kind: Enhancement 📈
New feature or request
Priority: Moderate 🚃
Something that is moderately prioritized
Status: Paused ⏸️
Previously been working but paused with some reasons.
Background and motivation
Currently, code size of
SplineResampler
is skyrocketing while it's not fast enough to handle non-integer-ratio conversion very quickly.Possible improvements
CachedDirect
CachedWrappedOdd
CachedWrappedEven
CachedDirect
can miss the L1 cache if we increase the maximum memo size because of its sawtooth-wave-like access.switch
statements for all combinations of channels, conversion ratio, and hardware.struct
type.Utilize Expression Tree for non-trivial conversion ratio like 44.1kHz->96kHz.Currently impossible because Expression Tree supports neither ref locals nor pointers.Vectorize using X86 and Arm Hardware Intrinsics if available.Vectorize usingSystem.Numerics.Vectors
if no intrinsic available.Unroll dot-product loops.The text was updated successfully, but these errors were encountered: