If you develop in WSL 2, you are likely sacrificing nearly a third of your CPU performance to kernel-level security mitigations. In a recent deep dive, I benchmarked a Go-based backend project and found that disabling these protections (Spectre/Meltdown patches) reduced wall-clock compilation times by 31.7%.
The "System Time" nearly doubled with mitigations enabled, proving that the constant context-switching required for security "handshakes" acts as a massive throttle on syscall-heavy workloads like compiling and linking.
Go Build Benchmark (time go build ./...)
| Metric | Mitigations OFF | Mitigations ON (Default) | Delta (Penalty) |
|---|---|---|---|
| System Time | 13.51s | 24.89s | +84.2% |
| Total (Wall) Time | 18.31s | 26.98s | +47.3% |
| CPU Efficiency (higher is better) | 522% | 395% | -127% |
The good news is that the fix is a one line change added to .wslconfig.
Read the full technical breakdown, including .wslconfig examples and perf bench audit commands, at the link below.
Full Post: The "Security Tax": Reclaiming 30% Performance in WSL 2 // Tony Metzidis
Top comments (0)