Can someone explain this Multi-Core/Thread results?

Track

Distinguished
Jul 4, 2006
1,520
0
19,790
I've been doing some tests with a Pentium 4 3.0Ghz, an Atom N270 and an Atom A330.

Originally, I thought the Atom A330 would be about equal to the Pentium 4 because it has two cores which are about half as fast each.. but it turns out that things aren't that simple..

Pentium 4 3.0Ghz:

1 Core / 2 Thread - 0.50 (Cinebench 11.5)

Atom N270 1.6Ghz:

1 Core / 2 Threads - 0.25 (Cinebench 11.5)
140 seconds (wPrime 32M)

Atom A330 1.6Ghz:

2 Core / 2 Thread - 0.25 (Cinebench 11.5)
104 seconds (wPrime 32M)
2 Core / 4 Thread - 0.50 (Cinebench 11.5)
70 seconds (wPrime 32M)

Now the P4 vs N270 makes perfect sense to me. Twice the speed, twice the points.

But the A330.. totally hairy.

From the wPrime 32M results, we can determine that a thread is 40-50% as powerful as a real core, in HyperThreading.
(70 is ~43% less than 104, 104 is ~47% less than 140).

So, if you bear with me..

Atom N270:
A. 1 (0.125) + 2 (0.0625) = 0.25

Atom A330:
B. 2 (0.125) + 2 (0.0625) = 0.31
C. 2 (0.125) + 4 (0.0625) = 0.43

So, why do I get 0.25 for 'B' and 0.50 for 'C'?

Totally odd.
 
You cannot assume all work loads are equal, wPrime calculates successive square roots so it is heavily floating point calculations, cinebench is likely a combination of integer and floating point ops, and from the looks of the scores doesn't have the resolution to show you what you need. If the score can only be 0.25, 0.5, 0.75... then the score for the A330 without hyper threading could be as high as 0.375 and the A330 with hyperthreading could be anywhere between 0.375 and 0.625 so you cannot use percentages and whatnot to figure it out because the score just isn't precise enough. Your math may be exactly right, but cinebench would have rounded B down to 0.25 and C up to 0.5.


Your error tolerance is simply too high for the size of the data to get useful results.