3 ms·
It's the general overhead and speed of syscalls for reading and writing files. It's very noticeable in software like git which works by reading and writing hund
by pzone 8y ago
It's the general overhead and speed of syscalls for reading and writing files. It's very noticeable in software like git which works by reading and writing hundreds of small chunk files to disk. This is a well known fact and there's no way the team responsible for Windows filesystems is unaware. I would be shocked if it were possible to fix with a small or non-breaking change.
- geofft 8y agoIsn't it a programming model thing? There's no Linux version of IOCP, and my impression is Windows apps that do use IOCP get good performance—but apps using cross-platform APIs or ported from UNIX tend not to have an IOCP-shaped IO layer and just use blocking calls, which are less optimized on Windows. Maybe I'm confusing this with subprocess creation speed (which also hurt git back when lots of tools were shell or Perl scripts) or network performance (many years ago, my boss and I found that Apache on Linux on VMware Workstation on Windows with bridged networking performed better than Apache directly on Windows, presumably because it's using select() or something)?