Did you test at least +1 if not *1.5 or something? I would expect you to occasionally get blocked on disk I/O and would want some spare work sitting hot to switch in.
-j time (mean ± σ)
12 (#P+#E) 130.889 s ± 4.072 s
13 (..+1) 135.049 s ± 2.270 s
4 (#P) 179.845 s ± 1.783 s
8 (#E) 141.669 s ± 3.441 s
Machine: 13th Gen Intel(R) Core(TM) i7-1365U;
2 x P-cores (4 threads), 8 x E-coresIf 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.