Modern CPU multithreading implementation

Periodically someone asks this question or a variant of it. There does seem to be this persistent idea that somehow it should be possible to max out all the cores of your CPU with just the sim and get a massive performance boost, if only the developers would ‘fix’ the sim. The problem is that concurrent programming just doesn’t work like that. The need for a single thread that coordinates the activity of all the others - and there’s just no way around that - will always impose performance limits due to latency, order of work, task dependencies and frame timing.

I’m quite certain things could be improved - they always can, because humans are just not great at concurrent programming - but the persistent idea that there is some huge reservoir of unused CPU power that can be pressed into use is as much of a myth as the idea that we only use 10% of our brains.

13 Likes