• Welcome to TechPowerUp Forums, Guest! Please check out our forum guidelines for info related to our community.

4C/4T vs 4C/8T vs 6C/6T

newtekie1

Semi-Retired Folder
Joined
Nov 22, 2005
Messages
28,473 (4.01/day)
Location
Indiana, USA
Processor Intel Core i7 10850K@5.2GHz
Motherboard AsRock Z470 Taichi
Cooling Corsair H115i Pro w/ Noctua NF-A14 Fans
Memory 32GB DDR4-3600
Video Card(s) RTX 2070 Super
Storage 500GB SX8200 Pro + 8TB with 1TB SSD Cache
Display(s) Acer Nitro VG280K 4K 28"
Case Fractal Design Define S
Audio Device(s) Onboard is good enough for me
Power Supply eVGA SuperNOVA 1000w G3
Software Windows 10 Pro x64
So I've had this discussion with a couple people, and it has been said that the reason Intel hasn't released a 4C/8T processor with Coffee Lake is that it would make the 6C/6T i5 processors pointless, because the Hyperthreading on 4 cores would equal 2 extra real cores. I've even see people here on the forums say this. But I don't believe Hyperthreading is that efficient, so I decided to test if a 4C/8T processor would match a 6C/6T. Mainly to settle an argument between me and a coworker, but I figured I'd share the results here.

Test Bed Setup:
  • Intel i7-8700K @ 4.8GHz on all Cores
    • Hyprethreading disabled in the BIOS for 6C/6T tests
    • 2 Cores disabled in the BIOS and Hyperthreading enabled in the BIOS for 4C/8T tests
    • 2 Cores disabled in BIOS and Hyperthreading disabled in BIOS for 4C/4T tests
  • Corsair H110i GTX AIO Liquid CPU Cooler
  • AsRock Z370 Taichi Motherboard
  • 32GB(4x8GB) Corsair Vengeance DDR4 @ 3000MHz
  • 480GB Crucial MX200 SSD
  • PNY GTX1060 XLR8
  • Corsair HX850v2 PSU
CPUZs.png



The Tests I did:

Cinebench R15 ST: Pretty self explanatory. For this test I ran the "Single Core" test, which only uses a single thread to render the image. Ran 3 times on each configuration and averaged the scores from the 3 runs. The result is the average score.
Cinebench R15 MT: Pretty self explanatory. For this test I ran the test normally, which uses multiple threads to render the image, matching the number of threads use to the number of threads available on the CPU. Also, ran 3 times on each configuration and averaged the scores from the 3 runs. The result is the average score.
HWBOT X265 Benchmark: Another pretty self explanatory test. Again, ran 3 times, and averaged the FPS of the 3 runs.
MP3: For this test I took 456 random MP3s with different bitrates and use dBPoweramp to batch convert them all using LAME Variable Bitrate Q-2. The result is the encoding speed based on CD-ROM speeds. So an encode speed of 1x would be the speed of a 1x CD-ROM(150KB/s), 2x would be the speed of a 2x CD-ROM(300KB/s), etc.
7zip Compress/Decompress: I ran the benchmark in 7zip version 18.01. I let it run until 10 passes had completed. The results is the MIPS after the 10 runs.
Intel Burn Test: I did 3 runs of Intel Burn Test v2.54 using the standard settings. I averaged the results of the 3 runs. The results are the average GFLOPS.

I should note that I didn't do any game tests because I don't believe the GTX1060 is a strong enough GPU to properly do game CPU tests, and I don't have a stronger GPU available right now. Plus, except for a few rare titles, adding threads beyond 4 either by HT or real cores doesn't really boost performance anyway. I also purposely picked tests that are definitely Multi-threaded.

Results:

4C4T4C8T6C6TChart_Values.png


4C4T4C8T6C6TChart_Percents.png


Conclusion:

To me it is pretty clear that in multi-threaded work loads, the 6 real cores outperform the 4C/8T. Hyperthreading just does not provide the performance boost needed to match a 50% increase in core count. Edit: However, after doing the 4C/4T tests, I have to actually admit that Hyperthreading added more performance than I was expecting in some of the tests. I expected HT to add about 25% performance, which we do see in the X265 test, but I was surprised to see over 40% increased in performance.

I also realize that this is a slightly flawed test due to the cache on the i7-8700k. The 6C/6T processors only have 9MB of L3(or 1.5MB per core) while my 8700K has 12MB and the 4C/4T processors currently have 8MB of L3, meaning the 4C/8T processor would also likely have 8MB(or 2MB per core). The extra cache of the 8700K is going to boost the numbers for both 4C/8T and 6C/6T slightly, but it is probably boosting the 6C/6T just a little more. However, I don't believe this actually makes a significant difference. Edit: This is another area where I have to kind of rethink things. While I still think that the cache likely didn't make a large difference. I actually think that it may be helping the Hyperthreading more than I originally thought, to the point where it may actually be a wash. Hyperthreading needs a lot of cache. At the end of the day, the more threads you have the more cache you need. So having 12MB will likely be more beneficial to a processor with 8 Threads than one with 6. That is just what I'm thinking, I could be wrong, but in the end I don't believe the difference cache size made any significant difference.

Edit: This is hopefully the last edit unless I decide to run more tests and add more data. I wanted to address the single threaded test. I added that because in the past there has been talk about how Hyperthreading hurts single threaded performance, even recommendations to disabled it to boost performance, especially in games. So, really, I was just curious how it behaves on modern processors. You can take away from it that, yes, it does slightly lower single threaded performance. It can be said that less than 1.5% difference is probably within margin or error. However, I will say that the scores were extremely consistent in this test. As I pointed out, I ran Cinebench 3 times on each configuration. For the 4C/4T test the score was 204-204-204. All three times, it ran and gave the exact same score. The 6C/6T test was the exact same story, 206-206-206, the same score all 3 runs. The only test that wasn't perfectly consistent was the 4C/8T test, it gave scores of 200-202-201, still pretty darn consistent. So I can say that I'm confident in saying that Hyperthreading does slightly reduce single threaded performance. However, I would not recommend ever disabling it at this point. The very minor performance impact is not going to be noticeable. However, the loss in multi-threaded performance will definitely be noticed. And it is just not worth the hassle to go into the BIOS regularly to disable and enable Hyperthreading.

Finally, if there is one thing these test do show, it is that on a 4 Core processor, Hyperthreading provides a definite noticeable performance boost in multi-threaded workloads. To me, it seems foolish that Intel didn't release the 8th Gen i3 lineup without Hyperthreading and left no real spot in the product lineup to add 4C/8T processors. Even if it was only the i3-8350K that had Hyperthreading, and the lower i3 processors didn't, that at least should have been done.
 
Last edited:
Even though I knew this and it IS super obvious if you know a bit of how things work under the hood, its nice to see the numbers.

Thanks

HT will always play second fiddle in performance, because it shares core resources and only works if those resources aren't saturated in any way. It also adds overhead that you don't get when threads run on a physical core.
 
I think typically the 6/6 wins out but the real issue is few Intel 4/8 & 6/6 are apples to apples as often the 4/8 are higher clocked like the 7700k to current 6/6 coffee lake like the 8400 or soon to be released 8500. Obviously that will changed down the road.

It really depends on the exact CPU options and their intended use but I love the tests you posted!
 
I've always kind of looked at HT as a way to add an inch to your epeen.
However I would like to see compared with AMD as well even if just to see a 2% difference.
Thanks bro... Nice to see.
 
Nice test, I would like to see the same methodology teste on a Ryzen, just to see the SMT scaling compared to HT.
 
I think typically the 6/6 wins out but the real issue is few Intel 4/8 & 6/6 are apples to apples as often the 4/8 are higher clocked like the 7700k to current 6/6 coffee lake like the 8400 or soon to be released 8500. Obviously that will changed down the road.

It really depends on the exact CPU options and their intended use but I love the tests you posted!

Yeah, the clock speed is definitely a thing to consider, but I just wanted to show the affects of HT vs 2 extra cores. Which is why I left the CPU clock the same.

Plus, the 7700k is clocked higher than the 8400 because they are two different product classes. The 7700K was the high end aimed at enthusiasts processor, the 8400 is a mid-range that isn't aimed at enthusiasts. A more accurate comparison would be between the i7-7700(non-k) and i5-8400. In that case, the clock speed difference is only 200MHz, and I believe that difference will be 0 with the i5-8500 and the i5-8600(non-k) will actually be clocked 200MHz faster than the i7-7700.

And while I'd normally say that in this forum most of us are overclockers, so the 4C/8T processor might actually be a better overclocker and that is worth considering. However, with Coffee Lake, it seems the 4C processors just aren't hitting the clock speeds the 6C processors are. And maybe that points to a yield issue with the first batch of 4C Coffee Lake processors? I don't konw. That could very well be why HT was disabled on those processors in the first place, to improve yields, especially on the first run.

Nice test, I would like to see the same methodology teste on a Ryzen, just to see the SMT scaling compared to HT.

If I had a Ryzen system to test with, I'd totally do it.

And now that I think about it, I really wish I would have done the test with 4C/4T too, to see exactly how much HT really adds. I might just go back tonight and do that and update the chart.
 
My curiosity got the better from me and i've tried the cinebench, and the x265 test on a 1700x 4c/8T and 6c/6T. (same method of three run).

Cinebench :
6c/6T : 793
4c/8T : 757

x265 :
6c/6T : 24,30
4c/8T : 20,08

my sample might be too small, but i wasn't expecting a gap so small in cinebench. Meanwhile the scaling of SMT on x265 seems similar to HT, only better by roughly 3%.
 
Huh... I'm skeptical and think the Cache has something to do with it, but like you said, it shouldn't be that much! Any way you can disable cache and test the same core configuration? In any case... nice work @newtekie1
 
Huh... I'm skeptical and think the Cache has something to do with it, but like you said, it shouldn't be that much! Any way you can disable cache and test the same core configuration? In any case... nice work @newtekie1

Unfortunately, I don't know of any way to adjust the cache size.
 
Hyperthreading on 4 cores would equal 2 extra real cores
Well, you shut'em up for good. HT performance is quite volatile, and really performs best where there are sufficieint memory or I/O stalls to take advantage of it. I would never pick HT over real cores.
 
Hyperthreading on 4 cores would equal 2 extra real cores. I've even see people here on the forums say this.

I got to say , that is some flawless logic.

They found the secret formula. :laugh:
 
I updated the original post with 4C/4T results as well as adding in a single threaded test to the mix just to satisfy my curiosity. I also added a second chart that show the actual percentage difference.
 
Last edited:
Thanks for the update. Hard numbers to sell support anecdotal knowledge most of us “knew” about single thread and HT is great!!
 
You're spot on. 6c/6t > 4c/8t, though not by much. HT works really well on 4c CPUs.
 
If i may make a suggestion to OP: have you considered doing these tests while there's something else running in the background? What exactly, i leave to you, but suggest you choose something that is a bit CPU / cache "heavy" while doing the tests mentioned in OP.

The purpose is to figure out how much, if any, is the performance hit. I'd expect the biggest hit will obviously go for the 4c/8t but, how much? That's the question!
 
If i may make a suggestion to OP: have you considered doing these tests while there's something else running in the background? What exactly, i leave to you, but suggest you choose something that is a bit CPU / cache "heavy" while doing the tests mentioned in OP.

The purpose is to figure out how much, if any, is the performance hit. I'd expect the biggest hit will obviously go for the 4c/8t but, how much? That's the question!

I actually thought about this. The problem was I couldn't come up with something that would run in the background that didn't just try to eat up all the CPU. I thought about having a video encode running in the background, but that just loads the CPU to 100% by itself. I couldn't really find anything that could consistently load down the CPU, but also was happy to share the CPU and didn't use the CPU to 100%.
 
I'd be very interested in 6c/6t on DDR4 3000 vs 6c/12t on DDR4 2133.
 
It's always going to come down to the application. If the application can saturate 12 logical processors, a 6c/12t processor is going to finish it faster than 6c/6t and any number of reduced cores. If the application cannot then fewer, higher clocked logical processors will be faster. Encoding falls in the former group; gaming usually falls in the latter group.

I actually thought about this. The problem was I couldn't come up with something that would run in the background that didn't just try to eat up all the CPU. I thought about having a video encode running in the background, but that just loads the CPU to 100% by itself. I couldn't really find anything that could consistently load down the CPU, but also was happy to share the CPU and didn't use the CPU to 100%.
BOINC. When you set it to "use at most 60%," it pulses the CPU so it only uses 60% of the available clocks by rapidly swapping between thread run and wait states.
 
It's always going to come down to the application. If the application can saturate 12 logical processors, a 6c/12t processor is going to finish it faster than 6c/6t and any number of reduced cores. If the application cannot then fewer, higher clocked logical processors will be faster. Encoding falls in the former group; gaming usually falls in the latter group.

Even then, with encoding it can come down to what you are encoding. When I do encoding on my main rig, 720p and higher will use 100% of the CPU when doing x265 encoding. But if I do DVD rip encodes at 480p it only uses between 60 and 80% of the CPU, it jumps around.

BOINC. When you set it to "use at most 60%," it pulses the CPU so it only uses 60% of the available clocks by rapidly swapping between thread run and wait states.

Yeah, that might work. I was also thinking of F@H set to use half the available threds to keep the usage at 50%. I might have to consider this later when I have more time to re-do all the tests.
 
Even then, with encoding it can come down to what you are encoding. When I do encoding on my main rig, 720p and higher will use 100% of the CPU when doing x265 encoding. But if I do DVD rip encodes at 480p it only uses between 60 and 80% of the CPU, it jumps around.



Yeah, that might work. I was also thinking of F@H set to use half the available threds to keep the usage at 50%. I might have to consider this later when I have more time to re-do all the tests.

Suggest you pick one of the tests. Then, if the difference justifies it VS no program in the background, do the rest.
 
Very nice to see the numbers behind something like this. My initial hunch was that the hyperthreading wouldn't help so much, but turns out that it does and that's why a 4c8t cpu is such a threat for a 6c6t in terms of marketshare.
 
Very nice to see the numbers behind something like this. My initial hunch was that the hyperthreading wouldn't help so much, but turns out that it does and that's why a 4c8t cpu is such a threat for a 6c6t in terms of marketshare.

I really don't think the 4c/8t is close enough to the 6c/6t results to threaten it's marketshare. There is still a pretty significant gap between the two. If we assume the 4c/8t part was a little more expensive than the 8350k and cost about $200, the 8600k is $250 and I think the extra $50 is worth it if you do a lot of multi-threaded work.
 
For the typical gamer type the 6 core 6 thread 8600K is perfectly adequate and should be for several years. It also can clock very high. Plenty of people on Overclock.net are in the 5.0Ghz+ range with it.
 
For the typical gamer type the 6 core 6 thread 8600K is perfectly adequate and should be for several years. It also can clock very high. Plenty of people on Overclock.net are in the 5.0Ghz+ range with it.

Pretty much all of those have delidded. 5.0 is easy with delid and proper paste - It can be archieved with very cheap air cooling. It's much harder and impossible on some without delid - This is why many settles with 4.7-4.8 GHz.

I've seen several 8700K's and 8600K's hit TJ MAX using 240-280mm AIO (H110's + H115i with PERFORMANCE preset + a few Noctua NH-D14/D15) ... Same CPU's did 5.2 and 5.3 after, with much much lower temps (around 75-85C avg load during burn in vs 100C+ aka throttling before)

This is how bad Intel's TIM is (the GAP does not help). USELESS for serious OC.

Delidding is a must if you want decent overclocks with good temps. Sad but true. Some people on this forum does not agree tho (LOL) ... Ask if Intel's TIM is good on overclock.net and see what people will say. 90% or more have delidded. And for good reason.
 
Last edited:
Back
Top