They are always the critical inside parts of DSP routines that are run often hundreds or thousands of time in one 96kHz audio sample cycle. For example in one of our products which needs thousands of simultaneous pure sinewaves, using C one core of the CM4 can generate 934 sinewaves of any level, whereas in assembler we get 1243.Yeah, thanks, that's what I figured. What do you mean by critical routines in your line of work?The problem with optimising ARM assembly code, which we do a lot of for critical routines, is it varies every time you do so. There are so many other influences, especially with multicore processors and memory access, that you really can spend huge amounts of time for little or no gain. For commercial applications this can make sense - processors are never quite fast enough and we don't overclock - but for home use I'd just stick to C/C++.
But TBH there are few applications that need many sinewaves summed up
Statistics: Posted by MikeDB — Sat Dec 28, 2024 9:33 pm