Remix.run Logo
omcnoe 7 hours ago

/mnt/c is a mounted C: drive in WSL2, that allows WSL2 guests to read/write files on the Windows host.

The mount is fine and speedy enough, but the underlying reads/writes turn into native NTFS reads/writes through Windows. NTFS file API is incredibly slow - high fixed overhead for initial file access.

So patterns like node_modules with many small individual files (or compiling code in general) are much much slower on Windows or WSL2 /mnt/c due to the fixed overhead adding up over a large number of files.

It's a ridiculous problem that has plagued Windows for years.

0x1d7 5 hours ago | parent | next [-]

It's the file system filters that are an issue on Windows. It trades performance for extensibility.

NTFS itself is a fast file system.

Fire-Dragon-DoL an hour ago | parent | prev [-]

Could you expand? I never understood why this was considered acceptable, how is windows filesystem so slow compared to linux?

I am familiar with the issue, doing any sort of ruby development is a nightmare on windows because each require loads a file becoming increasingly slow at boot time