Is there any basis for this affirmation or just the fact that his system has only 4 cores?
Is there any basis for this affirmation or just the fact that his system has only 4 cores?
It's a general principle of why mobile phone CPUs aren't putting a lot more cores in their devices, and why they didn't go the Atom route of hyperhreading: code on cellphones fail to take advantage of the additional cores.
There is no reason why multi-threaded software can't scale near linearly for the right problems.
Networking is actually a "right" problem, and should be nearly embarrassingly parallel since two cores and process two unrelated packets at the same time. But, if you look at network stacks on open-source projects, you see a lot of fail. That's the point of my post, as a reference to point to why that spinlock in your networking code is a bad idea, and why it's probably better to replace it with an atomic operation or a lock-free alternative.
For the other problems, you're limited by Amdahl.