(in progress) Talking about DAW performance

In this article, i will try to explain some basic principles of DAW performance. This article will be updated at will, to track down new informations and components releases.
Please note that all of this information is theoretical, and different audio engines might be actually able to find ways around these limitations (we all wonder how reaper is doing its things..). I will talk about this a little bit in the end of the article.

CPU PERFORMANCE: LATENCY VS THROUGHPUT

You can also listen to this video on youtube as introduction to this issue. This illustrates perfectly our findings when we found out that our 6700k did run better than a 7940x as both master with hackintosh / logic pro and slave with windows running EastWest Play session through Vienna Ensemble Pro.

The basic principle with audio production performance could be the old “you cannot make a baby in 1 month with 9 moms”. There are some aspects in audio that are just very hard to split efficiently between different CPUS, and if you have a background in real HW routing and signal processing, some notions will be counter-intuitive to you.

First thing, let’s try to understand how the audio buffer relates to processing power. The highest the buffer size, the more “planning ahead” we give to the cpu; we will have to wait for it longer to finish, but it will be able to do a lot more. Think about building a skyscraper: if you have to build it one floor at time, you will waste a long time changing tools and managing tasks everytime you start a new one; the more floor you can plan and build together, the less time will be spent on swapping tool and planning and more on actually doing the job. If someone is able to finish his part first, he will have more time to swap his clothes and tools and help someone who’s behind, further increasing efficiency.

And here comes the second big issue: while your CPU cores are all made the same and able to run at around the same speed (turbo boost 3.0 and core affinity are topic for another article), in a real project every track will have a different compute need, while some effects will be running on more than one track or be dependant on the input from another track (think sidechain). This makes audio extremely subjective to the ability of the CPU to “pass” informations to process between cores and spread the work unevenly across them.
The two main indicators for this skill are core-to-core latency and single core performance.