# Disable Hyperthreading when doing processor intensive task?

**URL:** <https://boards.straightdope.com/t/disable-hyperthreading-when-doing-processor-intensive-task/462485>\
**Category:** Factual Questions\
**Created:** [September 7, 2008, 2:50pm UTC](https://boards.straightdope.com/t/disable-hyperthreading-when-doing-processor-intensive-task/462485 "2008-09-07T14:50:05Z")\
**Posts on this page:** 6\
**Page:** 1

<div class="post-metadata">

**Author:** ![Stan\_Doubt](https://avatars.discourse-cdn.com/v4/letter/s/53a042/32.png) [@Stan\_Doubt](https://boards.straightdope.com/u/Stan_Doubt)\
**Post date:** [September 7, 2008, 2:50pm UTC](https://boards.straightdope.com/t/disable-hyperthreading-when-doing-processor-intensive-task/462485/1 "2008-09-07T14:50:05Z")

</div>

I have a huge Excel sheet that takes about 5min or so to recalculate values in all the columns. The sheet is stored locally, so it is not a network speed issue, and I am not running any other applications at the time this is running, just Excel and a few background processes.

My question is regarding the hyperthreading feature (P4 3.0Ghz 1.5GB RAM). I see that the process EXCEL.EXE rarely goes over 50%, and there is an option to disable hyperthreading in the BIOS. Ive never tried disabling it and I wonder what might go wrong if I tried it. Would disabling hyperthreading allow the system to allocate more processor to excel?

I’m sure it is not the best way to solve the problem, and I probably could figure out a way to get this done in Access or VB, but I just need to get it done and I know how to do it in Excel.

---

<div class="post-metadata">

**Author:** ![Pseudocode](https://avatars.discourse-cdn.com/v4/letter/p/59ef9b/32.png) [@Pseudocode](https://boards.straightdope.com/u/Pseudocode)\
**Post date:** [September 7, 2008, 3:40pm UTC](https://boards.straightdope.com/t/disable-hyperthreading-when-doing-processor-intensive-task/462485/2 "2008-09-07T15:40:28Z")

</div>

I doubt you are going to see any performance improvement, but if you want to disable hyperthreading there should be an option in the BIOS to do so.

---

<div class="post-metadata">

**Author:** ![Key\_Lime\_Guy](https://avatars.discourse-cdn.com/v4/letter/k/48db29/32.png) [@Key\_Lime\_Guy](https://boards.straightdope.com/u/Key_Lime_Guy)\
**Post date:** [September 7, 2008, 4:15pm UTC](https://boards.straightdope.com/t/disable-hyperthreading-when-doing-processor-intensive-task/462485/3 "2008-09-07T16:15:06Z")

</div>

Have you tried this?

Go to Task Manager \>\>\> Processes  
right-click on the application \>\>\> Set Priority \>\>\> High

---

<div class="post-metadata">

**Author:** ![Rysto](https://avatars.discourse-cdn.com/v4/letter/r/ecccb3/32.png) [@Rysto](https://boards.straightdope.com/u/Rysto)\
**Post date:** [September 7, 2008, 4:33pm UTC](https://boards.straightdope.com/t/disable-hyperthreading-when-doing-processor-intensive-task/462485/4 "2008-09-07T16:33:19Z")

</div>

I doubt that it will make a huge difference – it might even make the performance worse. Hyperthreading makes Windows see 2 CPUs on the system(although in reality the second CPU is not a full CPU – it shares a lot of resources with the first CPU). The 50% CPU utilization indicates that Excel is using 50% of the total CPU resources that Windows _thinks_ that it has, which is 50% of two full CPUs. In other words, Excel is talking 100% of CPU time on one of the “CPUs”. If you disable Hyperthreading you’ll probably see Excel get up to 100% CPU time, but I bet that Excel won’t be running any faster because it’s still using the same CPU resources it had access to with Hyperthreading on.

---

<div class="post-metadata">

**Author:** ![Stan\_Doubt](https://avatars.discourse-cdn.com/v4/letter/s/53a042/32.png) [@Stan\_Doubt](https://boards.straightdope.com/u/Stan_Doubt)\
**Post date:** [September 7, 2008, 9:43pm UTC](https://boards.straightdope.com/t/disable-hyperthreading-when-doing-processor-intensive-task/462485/5 "2008-09-07T21:43:52Z")

</div>

I’m not sure I understand, shouldn’t it be theoretically possible for one process to use close to 100 of the processing power%?

I could swear that I have seen processes with CPU utilization \>50% on this machine. Maybe those were multithreaded or more hyperthreading “aware” apps though, I’m not at work any more to check.

thanks,

---

<div class="post-metadata">

**Author:** ![Pseudocode](https://avatars.discourse-cdn.com/v4/letter/p/59ef9b/32.png) [@Pseudocode](https://boards.straightdope.com/u/Pseudocode)\
**Post date:** [September 7, 2008, 10:30pm UTC](https://boards.straightdope.com/t/disable-hyperthreading-when-doing-processor-intensive-task/462485/6 "2008-09-07T22:30:03Z")

</div>

> [@Stan\_Doubt](#):
>
> I’m not sure I understand, shouldn’t it be theoretically possible for one process to use close to 100 of the processing power%?
> 
> I could swear that I have seen processes with CPU utilization \>50% on this machine. Maybe those were multithreaded or more hyperthreading “aware” apps though, I’m not at work any more to check.
> 
> thanks,

Hyperthreading is not true multithreading; there is still only one processing core on your chip. The advantage of hyperthreading is that it hides memory latency by fetching multiple instructions for the execution pipeline. On a cache miss, for example, the processor has another instruction to execute immediately while the memory fetch occurs. The operating system displays a HT processor as 2 logical processors. It is certainly possible to use 100% of the CPU; the fact that your Excel process is not fully using the CPU is not due to hyperthreading.

I suspect that your Excel process is memory-bound rather than CPU-bound. That is, the data processing you are doing might have a lot of relatively slow random memory accesses.
