Hello, I interested for digital signal processing, so I write primitives in Rust and C.
But I have a problem: the Rust code is too slow. The test platform is Aarch64 (Odroid-C2).
Here is my decimator-code: https://github.com/hg2ecz/sdr-mixer-test
C code - basic:
Decimator(10) inspeed: 34.7 Msps
Decimator(10) outspeed: 3.5 Msps
C code - NEON optimalized:
Decimator(10) inspeed: 51.2 Msps
Decimator(10) outspeed: 5.1 Msps
Decimator(10) inspeed: 12.4 Msps
Decimator(10) outspeed: 1.2 Msps
The decimator-function is here: https://github.com/hg2ecz/sdr-mixer-test/blob/master/decimator-rust-basic/src/decimator.rs#L90
It is too slow for me. How can I write 3…4x faster code in Rust?