That's an issue with WSL1, which translated system calls from Linux to Windows. Unfortunately the Linux and Windows filesystem drivers are radically different; many operations that are fast/cheap on linux (eg checking file metadata, which is stored in memory) are super exensive on the NT kernel (eg metadata involves reading the file from disk, and running any programs that have registered event handlers for file reads... like virus scanners and context menu items). So Git, for example, which on Linux keeps its state spread across thousands of files' metadata, was a dog.
WSL2 takes a different approach: HyperV was always good at thin VMs... they took it to the next level and made WSL2 a super thin VM. Now performance is near native, depending on your benchmark.
Bias: I work at MS in an unrelated area. I run Arch as my daily driver, but am damn impressed by the engineering in WSL2.
WSL2 takes a different approach: HyperV was always good at thin VMs... they took it to the next level and made WSL2 a super thin VM. Now performance is near native, depending on your benchmark.
Bias: I work at MS in an unrelated area. I run Arch as my daily driver, but am damn impressed by the engineering in WSL2.