Linux has different performance schedulers you can choose that can dramatically change performance dependant on workloads. It's very possible the CPU is being too smart for its own good and the way Windows is lining stuff up it's not executing branches or something like that.
This is just shooting from the hip, but there is a ton of different stuff going on in both the OS and the CPU around this.
This is just shooting from the hip, but there is a ton of different stuff going on in both the OS and the CPU around this.