Hyper-Threading for Revit?
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.
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.
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):
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!
5 Responses to Hyper-Threading for Revit?
Leave a Reply to Mark Cronin Cancel reply
Categories
Calendar
May 2024 M T W T F S S 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31
[…] 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 […]
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?).
Oh well Greg, that’s Capita IT for you!
“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
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.