質問

So I'm running a cpu intensive task that isn't parallelized on my i7 laptop.

KSysGuard reports that I'm using 12.5% of the available cpu.

If I disable hyper threading am I likely to get a meaningful performance increase? It'll require flashing a new BIOS, so I wanted an opinion before I get too involved in the idea...

Thanks,

N

役に立ちましたか?

解決

Your task is using all of a single core, not 12.5% of one. 12.5% is 1/8 - you're maxing out one of the eight hardware threads your hyperthreaded quad-core processor has. If you disable hyperthreading, you'll have only four hardware threads, so your tools will report 25% usage - but your task won't complete any more quickly.

If you want to use more of your processor, try to parallelize the work.

他のヒント

I believe way hyperthreading works is that when running a single thread, on average only half the available stages in the core's pipeline are in use. HT tries to "interweave" two threads to improve CPU utilisation.

This does mean each of the two threads can run slower than it otherwise would since they have to wait for one another, while the overall throughput of a given core is improved. However, if you're not running under load, I'd say it's unlikely that the "peanut gallery" will get scheduled on the core that is busy as opposed to the cores that aren't doing anything.

(Of course, this being modern CISC performance, it's hard to say anything with certainty based on a theorethical analysis.)

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top