Would loading all threads on a hyper-threading enabled cpu (e.g. core i7 dual core with 2 threads per core) be (in this case) double the load the cpu? To clarify, lets say I have a dual core cpu with 2 threads per core, which would be 4 threads. If I ran 2 concurrent processes, would it saturate both cores (it doesn't appear so on the task manager)? Would running 4 processes result in processing having to wait to be executed, or will it saturate the cpu perfectly?


Task Manager doesn't really know what is happening in the CPU, but it can see that your dual-core with hyperthreading CPU provides the capability to run four threads at once. So, four processes could all run at the same time, and with anything less than that Task Manager will report less than full load.

As for what is really happening, and getting the most performance out of your computer, it depends on what you are running. With hyperthreading, two threads share one core, with almost all of the hardware being used by both threads. They have to share the same L2 cache, the same execution units in the core, etc. Hyperthreading does allow better use to be made of these resources, because with the two threads dividing them they spends less time idle, but it definitely isn't the doubling in performance that Task Managers display might suggest. For some loads, hyperthreading won't provide any benefit at all, especially ones that are very memory bandwidth dependent.

| improve this answer | |

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

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