From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from conssluserg-02.nifty.com (conssluserg-02.nifty.com [210.131.2.81]) by sourceware.org (Postfix) with ESMTPS id 47F173858C39 for ; Fri, 29 Oct 2021 10:15:13 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.1 sourceware.org 47F173858C39 Received: from Express5800-S70 (z221123.dynamic.ppp.asahi-net.or.jp [110.4.221.123]) (authenticated) by conssluserg-02.nifty.com with ESMTP id 19TAEWWR002509; Fri, 29 Oct 2021 19:14:33 +0900 DKIM-Filter: OpenDKIM Filter v2.10.3 conssluserg-02.nifty.com 19TAEWWR002509 X-Nifty-SrcIP: [110.4.221.123] Date: Fri, 29 Oct 2021 19:14:34 +0900 From: Takashi Yano To: cygwin@cygwin.com Subject: Re: Curiosity about file access performance Message-Id: <20211029191434.737060387e2007319bcf3894@nifty.ne.jp> In-Reply-To: <00895c47-8df9-1f17-baac-0b3560de9d1c@cs.umass.edu> References: <00895c47-8df9-1f17-baac-0b3560de9d1c@cs.umass.edu> X-Mailer: Sylpheed 3.7.0 (GTK+ 2.24.30; i686-pc-mingw32) Mime-Version: 1.0 Content-Type: text/plain; charset=US-ASCII Content-Transfer-Encoding: 7bit X-Spam-Status: No, score=-5.5 required=5.0 tests=BAYES_00, DKIM_SIGNED, DKIM_VALID, DKIM_VALID_AU, DKIM_VALID_EF, NICE_REPLY_A, RCVD_IN_DNSWL_NONE, SPF_HELO_NONE, SPF_PASS, TXREP autolearn=ham autolearn_force=no version=3.4.4 X-Spam-Checker-Version: SpamAssassin 3.4.4 (2020-01-24) on server2.sourceware.org X-BeenThere: cygwin@cygwin.com X-Mailman-Version: 2.1.29 Precedence: list List-Id: General Cygwin discussions and problem reports List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 29 Oct 2021 10:15:17 -0000 On Fri, 29 Oct 2021 10:35:08 +0100 Eliot Moss wrote: > 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? Why do you think the cause is the file access performance? I tested the file access speed using dd as follows. In cygwin: [yano@Express5800-S70 ~]$ dd if=/dev/zero of=test.dat bs=1M count=500 500+0 records in 500+0 records out 524288000 bytes (524 MB, 500 MiB) copied, 0.186714 s, 2.8 GB/s [yano@Express5800-S70 ~]$ dd if=test.dat of=/dev/null bs=1M count=500 500+0 records in 500+0 records out 524288000 bytes (524 MB, 500 MiB) copied, 0.125709 s, 4.2 GB/s In WSL1: Express5800-S70:~> dd if=/dev/zero of=test.dat bs=1M count=500 500+0 records in 500+0 records out 524288000 bytes (524 MB, 500 MiB) copied, 0.301657 s, 1.7 GB/s Express5800-S70:~> dd if=test.dat of=/dev/null bs=1M count=500 500+0 records in 500+0 records out 524288000 bytes (524 MB, 500 MiB) copied, 0.229617 s, 2.3 GB/s The result shows the file access performance of cygwin is better than WSL1. I think the cause of your problem is something other than file access performance. -- Takashi Yano