Hacker News new | ask | show | jobs
by ikurei 3202 days ago
> The performance bottlenecks I hit seem to be disk i/o related.

Would it be possible to mount the folders with the code on RAM? They aren't, usually, very heavy. May be a small-ish 500mb volume on RAM could help? Is this even possible on WSL/Windows?

1 comments

It's possible, but it wouldn't help. The problem is all the metadata lookups, which generally take several orders of magnitude more time on Windows than they do on Linux. The Windows implementation of NTFS just really isn't optimized to act as an unix filesystem.
Do you know what exactly the fundamental barrier to this is? I've always wondered. What's so different about Linux and Windows that Windows has to do so much more work for file creation/deletion? It seems to be half an NTFS issue and half a Windows issue, because even on Linux I'm pretty sure NTFS is noticeably slower than ext[234], but not as slow as on Windows.
I doubt there is any actual fundamental barrier, rather the reason is simply that the primary workload that Linus himself runs benefits greatly from faster metadata lookups, and therefore every nook and cranny of it has been optimized to as fast as possible.

In contrast, while metadata performance is sluggish in NTFS, at least a few years ago there were ways to get better large transaction async file performance than ext4 if you knew what you were doing -- clearly that workload was something that customers had asked for.

Yes, SQL Server was that customer.