Curiosity about file access performance

Eliot Moss moss@cs.umass.edu
Fri Oct 29 09:35:08 GMT 2021


Dear Cygwiners -

I think a lot of us know that fork() under Cygwin is slower than on Linux and
have some grasp of why.  But I have noticed that file access is rather lower
under Cygwin as well.  My "poster child" for this is running latex.  I am
working on writing a book, which includes a huge number of LaTeX style files
and such.  Under WSL1 (which has the same fork cost issues as Cygwin for
similar reasons), reading the style files goes by in little more than the
blink of an eye (about 1 sec), while on Cygwin it takes a little over 17 seconds.

The time to process the body of the book is 23 seconds under WSL1 and 35 under
Cygwin.  So the total times are 53 seconds under Cygwin and 24 under WSL1.  I
believe the LaTeX installations are the same versions, and I get the same
outputs.  Both LaTeX's are 64 bit programs.  There is not much forking here
(at least I don't believe there is, but maybe there is under the cover for
doing things with pdf figures or something), but a fair amount of file I/O.

For many / most things, the Cygwin overhead is tolerable; for running this
book, since I will be doing it over and over, it was worth investing in
getting everything set up on WSL1.

But it got me wondering as to why?

Best wishes - Eliot


More information about the Cygwin mailing list