请问ESP-DSP相关的API性能提升如何?
Posted: Sat Feb 19, 2022 3:45 pm
我的项目已经基本成型了,一些常用的highpass\lowpass\biquadfilter等等都是自己封装的。
近期刚刚发现esp-dsp这套api,说是针对esp32、esp32-s3都做了不同程度的性能优化。
但是我为了减少for(i = 0; i < sample_numbers; i++)这样的循环反反复复,在自己的类封装过程中,采用的是外面一次循环,dsp环节,每一个样本都是单独处理的。例如:
dsp.processOneSample(OnlyOnefloatSample);
而我看到esp-dsp的api所有函数传入的参数都是数组,需要把所有数组都传进去,api内部进行循环,对我来说,代码的改动量非常大,所有类的内部都需要改一遍,有点头疼。因为我的dsp有很多很多的滤波、clipper。
现在代码勉强可以运行,几乎听不到明显的延迟。
但我还是想评估一下性能,所以想问问有没有esp-dsp的测试工程,对比普通的代码实现,和esp-dsp的运行速度有多大差异?
近期刚刚发现esp-dsp这套api,说是针对esp32、esp32-s3都做了不同程度的性能优化。
但是我为了减少for(i = 0; i < sample_numbers; i++)这样的循环反反复复,在自己的类封装过程中,采用的是外面一次循环,dsp环节,每一个样本都是单独处理的。例如:
dsp.processOneSample(OnlyOnefloatSample);
而我看到esp-dsp的api所有函数传入的参数都是数组,需要把所有数组都传进去,api内部进行循环,对我来说,代码的改动量非常大,所有类的内部都需要改一遍,有点头疼。因为我的dsp有很多很多的滤波、clipper。
现在代码勉强可以运行,几乎听不到明显的延迟。
但我还是想评估一下性能,所以想问问有没有esp-dsp的测试工程,对比普通的代码实现,和esp-dsp的运行速度有多大差异?