You’ve probably heard about hyperthreading and how it can double the number of cores you have, but in reality, that’s not the truth. Hyperthreading which comes with Intel processors will usually display the number of cores and the number of threads it has, for example, 12 cores & 24 threads. There are usually double the number of threads than cores, but does this result in double the performance?
In this post, we’re going to go over exactly what hyperthreading is, and the pros and cons of hyperthreading. Also, we’re going to go over different applications where hyperthreading could be beneficial such as. Gaming, Streaming, and Video editing. Additionally, we’re going to go over whether cores are superior to threads for raw performance.
Answer: To understand what hyperthreading is, we must understand how a processor actually processes information. In simplified terms, a processor of today consists of physical cores located on the chip of the CPU, and it usually has billions of transistors in each core. Hyperthreading is a way of the processor creating two logical cores per physical core, it essentially improves the efficiency of the processor.
What Is Hyperthreading?
When you purchase an intel processor, depending on what processor you’ve brought it may come with SMT capabilities usually or which intel calls hyperthreading. Hyperthreading will increase the core efficiency by splitting the cores up into two threads, this is why it appears that you have double the number of cores in task manager. This allows a single core to execute two different sets of instructions, so a 12 core processor will have 24 threads.
Hyperthreading is extremely application dependent, this means it won’t always improve the performance of the task you’re running. Typically, if the task is multithreaded, then the performance will be increased, multithreaded tasks include Streaming, and Video editing, depending on the encoder. Sometimes, you can see a 30% increase in performance, sometimes you’ll see much less or even a loss in performance.
Yes, it may appear that you have double the amount of cores, but this doesn’t mean you have double the performance, only a more efficient processor. The reason why the processor is more efficient is that hyperthreading or SMT, in general, takes advantage of CPU stalling, this is when the cores aren’t processing instructions due to waiting on the memory i/o.
Pros & Cons Of Hyperthreading
Advantages To Hyperthreading & SMT:
- Increased efficiency of each core, this is beneficial for applications that heavily rely on multi-core performance.
- Multitasking is increased, so if you’re primarily running one application such as photoshop, the background tasks won’t have as much of an impact on the performance.
- Depending on the task, you may see a 30% increase in performance.
Disadvantages To Hyperthreading & SMT:
- Increased overall temperature of the processor, this is because the CPU is constantly working more hard to increase multitasking performance.
- Some applications won’t benefit from hyperthreading and may even experience a loss in performance, this is due to some applications still being coded for single-core performance.
Cores Vs Threads
Threads also known as virtual cores don’t actually exist physically but rather a result of a CPU core becoming more efficient and processing instructions. It’s purely logical and you can see its effects in task manager. Cores are physical entities that take up space on the processor die; these cores will contain all the transistors and ALUs which are necessary for processing instructions.
Cores will always be superior to threads when it comes to performance, this is because cores get more work done. Two threads are the result of one core becoming more efficient, threads just take advantage of CPU stalls to make the physical core more effective. From a multitasking perspective, you’ll always want more cores over threads.
Additionally, there are scenarios where hyperthreading can have the opposite effect, this is also application-dependent, and no one wants to have less performance than what they had before. Cores on the other hand will always increase the performance of whatever task you’re running, this is because cores are physical with transistors ready to get the work done.
Is Hyperthreading Worth It For Gaming?
Considering all the games that have ever been made, most of them are not coded to take advantage of hyperthreading or multiple cores. Most games are coded for single-core performance, so higher clock speeds will be what increases your frame rate, not more threads. Newer games are now implementing ways to leverage more cores, so hopefully, we see more efficient games in the future.
For gaming, we’d say hyperthreading isn’t worth it, but you should keep it on anyway because it makes no difference on average when gaming. In some games, you may notice an FPS increase but on average you’ll notice none of the sorts. Outside of gaming, you will benefit from the extra multitasking capabilities, so this is why we recommend you keep hyperthreading on.
The reason why hyperthreading makes no difference when gaming, is because games are largely coded to use one core, so increasing the cores GHz will have a bigger impact on the performance of the game you’re playing. It is said that 60% of games are single-core coded, so this means hyperthreading is completely useless most of the time.
Is Hyperthreading Worth It For Streaming?
For streaming, hyperthreading will boost the performance, this largely depends on what type of encoder you’re using. If you’re using the x264 codec, then hyperthreading will definitely boost your performance as x264 is heavily CPU-dependent. If you’re using something like NVENC to encode your stream, then you will use your NVIDIA graphics card more.
Hyperthreading or SMT, in general, should boost your streaming performance, that’s why you’ll see many streamers use processors with many cores. The more cores you have, the smoother your stream will be, and that’s important for maintaining a good audience. You’ll often see streamers use CPUs such as the I9 12900K, or the Ryzen 9 5900x for their large number of cores and threads.
For streaming, we’d say hyperthreading is definitely worth it, and you can stream well with only a 6 core 12 thread processor. Its multitasking capabilities should be enough to carry your stream as well as the application you’re running, anything less and you will create a laggy stream. Streaming heavily benefits from having more cores, so hyperthreading can make a huge difference.
Is Hyperthreading Worth It For Video Editing?
For video editing, hyperthreading is known to decrease rendering times, this is because video editing is also CPU intensive. The more threads can help with queuing up another frame of video whilst the other one is being processed already, this is a prime example of the CPU taking advantage of the stalling effect.
If your video editing encoder takes full advantage of the CPU cores and threads, then you can experience up to a 30% increase in performance. This is why it can make a huge difference using an 8c16t processor over an 8c8t CPU. Hyperthreading depending on the video encoder will largely reduce rendering times, for example using the x264 encoder.
Comparing the I9 9900K to the I7 9700K, you can see an increase of 37 FPS for the 9900K encoding in 720P @ 60FPS compared to the 9700K. We believe this is because of the hyperthreading capabilities being enabled on the I9 9900K whereas it’s disabled on the 9700K. They both have the same number of cores and similar clock speeds, but hyperthreading is the only difference.
In conclusion, we believe hyperthreading is worth it for certain applications, usually applications that are multithreaded coded. Applications such as x264 encoding which streamers and video editors use can heavily benefit from hyperthreading. Gamers on the other hand will not experience an FPS increase, but they may benefit from the multitasking performance.