Background audio analysis not making use of all available cores

The background audio analysis (which can be set via Setting > Setup > On-Demand/Background Audio Analysis Speed) is not making use of all available processing power when set to fast.

Currently it is set to fast and needs to make it’s way through 25000+ tracks. Looking at my Linux system, which runs RoonServer, it is only using 1 core to do this audio analysis. As there are more cores available, I would expect it would do the audio analysis in parallel and eg. do multiple tracks at the same time.

Also it doesn’t keep running when the app is not open. In my view RoonServer should be able to continue the background audio analysis even when there is no app open to control.

Can you please improve this in the next release, so audio analysis are done faster.

+1 have noticed that also, it is really slow and doesn’t seem to use more than 1 core. This on a quad-core i7 Mac mini. Also sometimes it doesn’t start automatically and is stuck on 1 of XXX, or stalls while in progress.

1 Like

+1 for using all CPU cores.

Roon doesn’t start analysing until it’s finished scanning watched folders. I’ve also seen it stall or slow on many occasions though and the best way around this at present is restarting RoonServer.

I also get the impression not all CPU cores are being used even when background analysis is set to Fast…using top to monitor CPU activity generally shows one CPU core flat out and the remaining CPU cores a little higher than idle. @brian, could you confirm whether or not all CPU cores are leveraged when background analysis is set to fast?

1 Like

The initial long scan on first setup is liveable-with. But the slow background analysis becomes exra problematic when Roon keeps “losing” and re-importing tracks as per this thread: Roon re-importing some tracks each session
Because each time it reimports, it also has to do the background analysis.

Yes, analysis only uses one core right now.

Yes, overhauling our analysis subsystem is on the TODO list.

For the reimporting issues, if you can help @mike and @vova figure out how to reproduce the bad behavior on demand, it will get fixed. Generally the tricky part is isolating the exact cause.