Comment by rwmj

Comment by rwmj 14 hours ago

2 replies

The hyperthreading should cover up memory latency, since the workload (compiling qemu) might not fit into L3 cache. Although I take your point that it doesn't magically create two core-equivalents.

gonzo 11 hours ago

“Hyperthreading” is a write pipe hack.

If the core stalls on a write then the other thread gets run.

  • atq2119 2 hours ago

    It's much more than that. It also allows one thread to make progress while the other is waiting for memory loads, or filling in instruction slots while the other thread is recovering from a branch mispredict.

    Compilers tend to do a lot of pointer chasing and branching, so it's expected that they would benefit decently from hyperthreading.