Drop in Processing Speed since 1.6

We didn’t change anything about how the DSP/processing code works in 1.6–it is exactly the same as before.

The processing speed is designed to communicate whether or not you have enough safety factor to support the current workload. The way it is computed makes it unsuitable for drawing conclusions about the performance of the code itself in the way that you are attempting to.

The processing speed indicator represents the amount of time that processing the audio takes relative to the amount of audio processed (so if it takes 1/4s of time to process 1s of audio, the speed is reported as 4x).

One problem is–your CPU cores are not always running at the same speed. The maximum speed reachable and how long each CPU core can sit at that speed depend on the real-time temperature inside the CPU at that moment. Which is in turn dependent on everything from what else is going on in the system/on other cores, the temperature of the room, the amount of dust in the CPU fan, how much temperature has soaked into the assembly over the past minutes/hours, etc.

If we made the code twice as fast, it might not move the processing speed number at all, since it may be more efficient for the CPU to run at a lower speed, at which point the same amount of time passes for the same processing, and you’re simply using less energy. Likewise, environmental factors, or the speed at which your CPU has decided to run today based on energy saving or thermal management rationale may pull the number around, sometimes dramatically. This logic can change with OS or BIOS or Driver updates, too.

At the limits, the CPU generally “opens up” and makes most of the performance available–there’s still an exception to this–since the Turbo Boost mechanism on some CPUs is another complex thing in the mix…in most situations it’s only available for short times and not on all cores at once, so even the idea of “maximum speed” is pretty ephemeral.

There are good and accurate ways for us to measure how much work the code is doing. We always have an eye on this when making changes to DSP and other performance-critical stuff and know that it hasn’t changed. The processing speed indicator is influenced by too many outside factors to really use it for that purpose. It’s there to tell you if you’re “safe” or not. That’s it.

8 Likes