Earlier quoted context omitted.
> wrapping the VST plugins in their own separate processes. This isn't an optimization. https://ardour.org/plugins-in-process.html And also, the kernel cannot schedule more efficiently than Ableton does, because it doesn't know the data dependencies between plugins.
That's not what my experience tells me. If you read on Ableton website: > Live uses one thread to process a signal path. A signal path is a single chain of audio flow. In tracks where instrument or effect racks are used, with multiple chains in parallel, Live may use one thread per chain depending on how CPU-intensive each chain may be. If two tracks are "chained" by routings, for instance by a side-chain routing, a…
Ableton's scheduling could be quibbled with, but it's better than the kernel can do.
Ps. I'm the original author of Ardour, a cross-platform DAW. We use a different model than Ableton for scheduling, but not that different. We run N threads (based on a user preference for how many cores to use) and they pull signal paths from a pool, process them, and go back for more. The result is "1 thread per signal path".