“Hyperthreading” is a write pipe hack.
If the core stalls on a write then the other thread gets run.
If the core stalls on a write then the other thread gets run.
Compilers tend to do a lot of pointer chasing and branching, so it's expected that they would benefit decently from hyperthreading.