I’ve always been frustrated by the moments when Revit seems to hang momentarily, normally while executing a single threaded command. Sometimes its only for a second or two, other times it longer, but either way it seems like an eternity when you’re trying to push through your work.

Seeing as I generally use well specified workstations I got thinking how I could reduce these unproductive seconds. I’ve been wondering for several years what effect disabling Hyper-Threading would have. If you think about it in a logical manner, a dual quad workstation with 8 cores = 12.5% processing power from one core.

Revit - HyperThreading disabled

With Hyper-Threading enabled (default), the virtual core count is upped to 16 cores = a reduction to 6.25% processing power from a single core.

Revit - HyperThreading enabled

Would you rather have Revit using 12.5% or 6.25% of your computing power?

Recent years at AU I’ve tried to find Autodesk technical staff who can answer whether Revit benefits in anyway from Hyper-Threading (assuming that you are using at least a quad core PC), but I’ve been unable to get a definitive answer, so I thought I’d test it out for myself. I downloaded the RFO benchmark from the Revit Forum and ran it 3 times on both a dual quad workstation and a quad core PC, first with Hyper-Threading enabled, then disabled. I then averaged the results from the workstation, and the scores can be seen below (*Edit: Lower = better):

RFO Averaged Results Highlighted

They clearly show that there is at least a marginal improvement in the model creation portion of the testing, and a substantial performance reduction in the rendering section with Hyper-Threading disabled. This makes sense, as many general tasks in Revit are limited to executing on a single core, however rendering can use as many cores as you can throw at it. So my recommendation is if you do mostly general Revit work (no rendering – which you should be off loading to the cloud anyway) then you are better off disabling Hyper-Threading. If you do a lot of rendering on your local machine then you are obviously better of with as many cores (with Hyper-Threading enabled) as possible.

The results from both machines tested followed a similar trend. Based on this, I imagine that a higher frequency CPU with a lower number of cores (though I wouldn’t like to go below four) would preform better with general Revit tasks as opposed to a higher core count at a substantially lower CPU frequency. Of course it’s not that simple but if you are interested in how Revit performs on various machine specs then you may want to have a read of the RFO benchmark results thread.

Faster PCs = betterRevit!

 

Tagged with:
 

5 Responses to Hyper-Threading for Revit?

  1. [...] He “averaged the results from the workstation, and the scores can be seen below: They clearly show that there is at least a marginal improvement in the model creation portion of the testing, and a substantial performance reduction in the rendering section with Hyper-Threading disabled.” via Hyper-Threading for Revit? | betterREVIT [...]

  2. El Grego says:

    Take care with disabling Hyper-threading! I tried it and the consequent Lorentz Invariance Violation wiped out all the staff wearing shirts and ties through a Tachyon nightmare deluge of Cherenkov Radiation! And now the rest of us are Revitting on abacuses (or is that abacii?).

  3. BL says:

    “Would you rather have Revit using 12.5% or 6.25% of your computing power?” From what I understand, Hyper-Threading doesn’t work that way. You don’t get 6.25% performance improvement by disabling HT. http://en.wikipedia.org/wiki/Hyper-threading

  4. Mark Cronin says:

    Thanks for your comment. I agree, you do not get a 6.25% improvement, it’s not that simple. As the article you link to states, the OS sees two cores where there is only one. Some processes in Revit are only capable of executing a single thread, executing on a single core. With Hyper-Threading enabled this will be half the processing power of one physical core (1 physical core = 2 virtual cores). Having said that, rendering is a process that can greatly benefit from Hyper-Threading, and there are other commands in Revit that are multi-threaded too. It really depends on what work you do and even then the benefit is negligible.

Leave a Reply