14

The Intel Core i7 processor has a feature known as "hyper-threading." Quoting their website:

IntelĀ® Hyper-Threading Technology (IntelĀ® HT Technology)1 uses processor resources more efficiently, enabling multiple threads to run on each core. As a performance feature, it also increases processor throughput, improving overall performance on threaded software.

Of course, this sounds a bit like an advertisement, and it doesn't show whether it has any less desirable qualities to it, such as increased power usage.

What exactly is hyper-threading? When should I buy a processor that utilizes this?

  • Just as an FYI, "hyper-threading" isn't new in the i7 series. Intel Xeons in 2002 had it as did the consumer grade Pentium 4 Extreme Editions. – Andy Sep 18 '15 at 4:01
  • I've closed this question because it's more of a general advice-type question, which are no longer in scope. – Undo Nov 2 '15 at 17:31
13

What exactly is hyper-threading?

This is a process where your processor simulates another processor core, allowing better multithreading/etc.

For example, a dual core machine with hyperthreading will have:

  • 2 physical cores
  • 4 virtual cores

In some sense, this allows the processor to "pretend" to have more cores.

When should I buy a processor that utilizes this?

This can be useful if you are doing applications that are heavily multi-threaded. Virtual machines, image/video processing, compiling code, etc. Basically if your computer use is going to be heavily CPU dependent.

For most users hyperthreading will have minimal effect.

| improve this answer | |
  • 3
    When a product advertises itself to have "hyper-threading", couldn't the definition be anything the advertiser decides it to be? Are there some official law/guidelines that they need to adhere to? – Pacerier Sep 9 '15 at 21:24
5

What is hyper-threading and how does it work? does a good job at explaining what hyper-threading is:

Hyper-threading is where your processor pretends to have 2 physical processor cores, yet only has 1 and some extra junk.

The point of hyperthreading is that many times when you are executing code in the processor, there are parts of the processor that is idle. By including an extra set of CPU registers, the processor can act like it has two cores and thus use all parts of the processor in parallel. When the 2 cores both need to use one component of the processor, then one core ends up waiting of course. This is why it can not replace dual-core and such processors.

This article presents a benchmark on the benefits of hyper-threading:

enter image description here

As the performance boost figure of only up to 30% indicates, Hyper-Threading is not the same as doubling the number of cores on a processor.

Another benchmark can be found here:

enter image description here

enter image description here

enter image description here

enter image description here

enter image description here

Wikipedia has a section on hyper-threading's performance. Basically the results aren't clear-cut.

So all in all, it is probably useful if you plan to have more threads running than the number of physical cores, which is likely to be the case, but the performance gains won't be miraculous though and in some cases null.

| improve this answer | |

Not the answer you're looking for? Browse other questions tagged or ask your own question.