Neither the Windows IO API or even the low-level NTFS APIs map cleanly to POSIX semantics. It means you can’t just forward calls from the subsystem to the IO stack, you need to actively marshal them to and fro. This, in addition to certain operations just being plain more expensive on Windows/NTFS (opening files, creating processes) due to different programming paradigms/approaches just give a very high impedance mismatch that makes performant IO highly unlikely by nature for anything trying to run on top the existing system rather than virtualized.