Wondering if a process can take full advantage of a core with hyper threading? Or is it always max 50% capacity. I saw an option in BIOS to disable hyper threading for any specific core. Would it be a good idea to disable it for the first core (core 0) and leave it on for the other 7 cores? My CPU pretty much only gets higher work loads while gaming. So that’s what I want to optimize for. One specific example would be with Minecraft. It has to have the main game loop/tick on one process. Would I have to disable hyper threading on the first core, to reduce the tick processing time? Or can it take full advantage of the core either way?
Edit: I installed Process Lasso now. It has an option to choose which threads does a specific process use. And it won’t use the other threads. But i’m confused. If I set a game to use only one thread on each core, It’s not really like hyperthreading is disabled. Because other processes can still use the second thread on each core. I guess one thing that I don’t know is, if one thread on a core with two threads can use more than 50% of it’s resources?
Hyperthreading sounds like you’re splitting a core into two and run two tasks in parallel but actually they are taking turns.
If we look more closely, the case is that if we said a core has 100 time slots to execute a task per second, and the task only takes up 60 time slots per second, that’s 40 time slots wasted when the core is doing nothing at all. Hyperthreading lets a second task fill up those empty time slots to make more efficient use of the core.
The two tasks are taking turns executing on that one core in very tiny time frames, but it brings more performance because otherwise the core would be left doing nothing most of the time. This happens as naturally tasks often require waiting on data from other threads or even external sources to become available for the next calculations.