newtekie1
Semi-Retired Folder
- Joined
- Nov 22, 2005
- Messages
- 28,473 (4.06/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:
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:
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.
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
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:
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: