Poor vDSP performance on M1

Anyone else noticing really bad performance of FloatVectorOperations and vDSP on arm macs?

If I just do some vDSP_vmul, the code runs 5 times faster on an intel mbp (2.6Ghz i7) than on a m1Pro mbp here (not using rosetta).

Am I doing something wrong or is that kind of expected? What’s your experience with that?

2 Likes

Would be interesting to also compare its performance to running in Rosetta on the same machine

1 Like

The thing you are maybe seeing is that your code in not CPU intensive enough hence is put on the efficiency core

3 Likes

Same here, with plugins using my own interface to IPP / vDSP.

I use IPP on Intel Macs, because vDSP is significantly slower than IPP for my plugins.

I cannot imagine that macOS is constantly redistributing executing code over its cores.

@otristan : would that be possible if your code only runs in the host’s callback and thus on the same RT thread as the callback?

I doubt it, but you can easily check which core is active on your system.