4 ms·
What's "current", and what's your benchmark? Mine is video encoding using FFMPEG (where I run more program threads than FFMPEG decides is optimal in order to m
by beagle3 10y ago
What's "current", and what's your benchmark?
Mine is video encoding using FFMPEG (where I run more program threads than FFMPEG decides is optimal in order to make sure no cpu thread is idle).
I get at most 15% over hyperthreading off, and often about 5-10% less than hyperthreading off (For the whole process, beginning to end).
On real cores, it is close to being linear in the number of cores (not quite, but it is close).
- jmiserez 10y agoAs I understand HT, in it's most basic form it will try to utilize all processing units by executing code from a second thread whenever possible. FFMPG most likely maxes out usage of all arithmetic and floating point units and limits branching to a minimum, so it would make sense that there are no real performance gains with HT.
- beagle3 10y agoOf course. The question is, what is the kind of load in which it delivers 80% over a non HT core, as the GP claims? I've certainly never seen this kind of load.
- stuckagain 10y agoFor any kind of branchy pointer-chasing workload hyperthreading will easily double the throughput. These workloads spend all of their time waiting for load and recovering from mispredicted branches. Oracle is the poster child of this kind of workload. For decades now we've had to suffer these weird internet arguments about whether hyperthreading is "real", as if there was a naturally-occuring correct number of frontends on a CPU. If someone wants to put more instruction decoders on their CPU there is no rational argument that is "wrong".