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]
_______________________________________________
fpc-pascal maillist  -  fpc-pascal@lists.freepascal.org
http://lists.freepascal.org/cgi-bin/mailman/listinfo/fpc-pascal

Reply via email to