[fpc-pascal] Optimal number of threads for SMP

Mark Morgan Lloyd markMLl.fpc-pascal at telemetry.co.uk
Thu Sep 18 21:36:18 CEST 2014

Marco van de Voort wrote:

> Hyperthreading doubles the execution stream logic, so that one core can
> take two incoming streams of instructions. The idea is that when one thread
> stalls, or executes unoptimal code, the other thread can run, increasing
> utilization. But that is more something like 10%, not doubling it.

I'd expect somewhat better than 10%, but another complicating factor is 
that it will depend on the cache architecture. Also in the general case 
some architectures can manage a lot of integer threads but have a 
massive bottleneck if multiple threads try to do floating point operations.

Mark Morgan Lloyd
markMLl .AT. telemetry.co .DOT. uk

[Opinions above are the author's, not those of his employers or colleagues]

More information about the fpc-pascal mailing list