When is hyperthreading bad




















Asked 9 years, 6 months ago. Active 7 years, 1 month ago. Viewed 15k times. Can someone explain it? Is it BIOS related? Should I do some special settings in kernel? Improve this question. Performance depends a lot on what you're doing. Add a comment. Active Oldest Votes. Improve this answer. I have made some tests of hyperthreading to see how fast each of the two threads is running. The following resources are shared between two threads running in the same core: Cache Branch prediction resources Instruction fetch and decoding Execution units Hyperthreading is no advantage if any of these resources is a limiting factor for the speed.

But hyperthreading can be an advantage if the speed is limited by something else. To be more specific, each of the two threads will run at more than half speed in the following cases: If memory data are so scattered that there will be many cache misses regardless of whether each thread can use the full cache or only half of it.

Then one thread can use all the execution resources while the other thread is waiting for a memory operand that was not in the cache. If there are many branch mispredictions and the number of branch mispredictions is not increased much by sharing the branch target buffer and branch history table between two threads.

Then one thread can use all the execution resources while the other thread is waiting for the misprediction to be resolved. If the code has many long dependency chains that prevent efficient use of the execution units. In these cases, each of the two threads will run at more than half speed, but less than full speed.

The total performance is never doubled by hyperthreading, but it may be increased by e. On the other hand, if the performance is limited by any of the shared resources, for example the instruction fetcher, the memory read port, or the multiply unit, then the total performance is not increased by hyperthreading.

Actually, in the worst cases the total performance is decreased by hyperthreading because some resources are wasted when the two threads compete for the same resources. A quick google search reveals several examples of applications that run slower with hyperthreading than when hyperthreading is disabled. I have tested two microprocessors with hyperthreading: the Intel Core i7 and the Intel Atom. The Core i7 has four cores. This processor is quite powerful. The execution units of each core are so powerful that a single thread will rarely utilize the full potential of the processor.

Therefore, it makes good sense to run two threads in the same core. It seems very strange your hyperthread performance is this bad.

More fluid in games. If you get under 60 fps on lowest i would say something isnt right. It is possible if running hot that it downclocks itself to keep heat down. My temperatures are fine, i have set the fans to kick full speed when they reach 60 c and they never go above c, both gpu and cpu. Turning off hyperthreading could make single core performance stronger and older games coded for single core performance could benefit from that still you shouldnt get that bad fps on low settings.

Is all your parts new? Last edited: Aug 25, Yes, it is a pre built pc, brand new. I think it's enough power, I know if the psu can not handle the rig it just dies So I don't know what to do! Jan 14, 15, 1, 78, 2, SIngle channel access if running a single 8 GB stick strangles memory bandwidth compared to proper dual channel access if applicable , as well Dec 14, 1 0 10 0. I know what are you saying but with HT on I struggle to reach 45 fps, even on low, now everything is great, higher usage on gpu and cpu and higher fps, even fps Yes I have a single stick, 8gb and in my opinion it's enough to play games, 16gb is better I know.

But why is frequency so import? Ddr3 memory means it's unusable? Please let me know why I need so much mhz. This is another question that can be a little complicated but is actually pretty simple when you break it down. Given that they are close to each other in single-thread, single core performance. Because the quad-core CPU has more physical processing hardware. Now our question really has to do with the software that you want to run. Simply because none of the processing capacity is being wasted and the component is working near its full potential as much of the time as possible.

Traditionally operations such as CPU 3D rendering, video encoding, and photo manipulation will create as many threads as your poor CPU can take. In other words, many modern professional applications are thread-hungry. This is why Hyperthreading has been restricted to professional-tier CPUs such as the i7 and up.

At the time of writing, in , the latest video game engines are starting to become more thread heavy.



0コメント

  • 1000 / 1000