Exert on Amadahls principal of multi threading
As I have stated on many occassions multi threading is very dependent on single threaded performance, bad single threaded performance equates to bad multithread performance.
A FX8370's SMT is barely able to keep up with an i3 because the trade off was single thread efficiency for more cores and more shared resource queing that AMD back then thought clock speed would help. It is the reason why a Phenom II destroys the FX in single thread by about 15% add Phenom II has about 10% less cache latency, 6 Phenom II cores at 3.4Ghz run the blender about 5-6 seconds faster than a FX 8370 at 4.8Ghz.
Ryzen's performance is largely derived from AMD's new core of actual micro architecture engineers deciding that SMT was never the way to go and focused more on FP performance on a per core basis, this is why Zen runs like a 5960X
Ryzen blender scaling:
1 core: 288 seconds
2 core: 144 seconds
3 core: 96s
4 core: 72s
5 core: 57.6s
6 core: 48s
7 core: 41.14s
8 core: 36s
follows amadahls scaling principle in that SMT is sometimes not even dependent upon as the threads wait for schedulers to compile instructions in parallel, single thread instructions are carried out in isolation hence why there is a fall from 66% from 1 to 2 cores all the way down to 13% scaling on SMT over 8 cores. Blender seems to be a more realistic example of how SMT gradually reduces and becomes less linear while Cinebench posts 100 over 100 percent linear equations.
Another side-effect of the faster single core is that parts that are strictly sequential in nature (where only one thread is active) are processed faster. Amdahl’s law essentially formulates a rather paradoxal phenomenon:
The more cores you add to a CPU, the faster the parallel parts of an application are processed, so the more the performance becomes dependent on the performance in the sequential parts
In other words: the single-threaded performance becomes more important. And that is what makes the multi-core myth a myth!
As I have stated on many occassions multi threading is very dependent on single threaded performance, bad single threaded performance equates to bad multithread performance.
We see that Intel continues to be dedicated to improve single-threaded performance. With Bulldozer, AMD decided to trade single-threaded performance for having more cores on die. This is a big part of the reason why Bulldozer is struggling to perform in so many applications, even heavily multithreaded ones.
A FX8370's SMT is barely able to keep up with an i3 because the trade off was single thread efficiency for more cores and more shared resource queing that AMD back then thought clock speed would help. It is the reason why a Phenom II destroys the FX in single thread by about 15% add Phenom II has about 10% less cache latency, 6 Phenom II cores at 3.4Ghz run the blender about 5-6 seconds faster than a FX 8370 at 4.8Ghz.
Ryzen's performance is largely derived from AMD's new core of actual micro architecture engineers deciding that SMT was never the way to go and focused more on FP performance on a per core basis, this is why Zen runs like a 5960X
Ryzen blender scaling:
1 core: 288 seconds
2 core: 144 seconds
3 core: 96s
4 core: 72s
5 core: 57.6s
6 core: 48s
7 core: 41.14s
8 core: 36s
follows amadahls scaling principle in that SMT is sometimes not even dependent upon as the threads wait for schedulers to compile instructions in parallel, single thread instructions are carried out in isolation hence why there is a fall from 66% from 1 to 2 cores all the way down to 13% scaling on SMT over 8 cores. Blender seems to be a more realistic example of how SMT gradually reduces and becomes less linear while Cinebench posts 100 over 100 percent linear equations.