Re: Why is stat slow?
Marco Atzeri via Cygwin <[email protected]>
| Newsgroups | gmane.os.cygwin |
|---|---|
| Message-ID | <[email protected]> |
On 22/12/2025 06:15, Eliot Moss via Cygwin wrote: > Dear Cygwin-ers -- > > I'm sure this has been asked before, more than once, but I am again > wondering > what, specifically, makes stat (the program, but presumably also the > syscall) > substantially slower on Cygwin compared to stat on WSL2. I am talking > about > an external HDD (not solid state) on my D: drive. It shows under WSL 2 as > /mnt/d like this (output of mount): > > D:\ on /mnt/d type 9p (rw,noatime,aname=drvfs;path=D: > \;uid=0;gid=0;symlinkroot=/ > mnt/,cache=5,access=client,msize=65536,trans=fd,rfd=5,wfd=5) > > On Cygwin it shows up like this (yes, mount shows two lines): > > D: on /cygdrive/d type ntfs (binary,notexec,posix=0,user) > D: on /cygdrive/d type ntfs (binary,noacl,posix=0,user,noumount,auto) > > My /etc/fstab lines are: > > none /cygdrive cygdrive binary,noacl,posix=0,user 0 0 > d: /cygdrive/d ntfs binary,posix=0,user,auto,notexec 0 0 > > (Presumably this has something to do with two mounts showing ...) > > On D; I have a folder with hundreds of 2Gb files (they are backups, > split into > 2Gb portions). On Cygwin > > time stat <the files> gives > > real 2m12.425s > user 0m0.249s > sys 0m1.312s > > A second run shortly after the first completes very quickly, indicating the > presence of a cache :-) . > > time stat <the files> on WSL2 gives: > > real 0m2.208s > user 0m0.026s > sys 0m0.149s > > This is after a reboot, so there is no caching available. So, why is > Cygwin > 60 times slower, even when WSL2 has the handicap of having to work > through the > 9p adapter / COM surrogate? > > Mostly I am curious, but this is also relevant because I rsync this file > collection to offsite storage, and the stat time is about what it takes for > rsync to start up - it needs to check file times and lengths. > > This makes me wonder if there is something we can do to make this > better, by > figuring out what WSL2 / 9p are doing ... > > Best - Eliot Moss > I do not notice a slow run. The disk is an external 1T USB3 hard disk $ time stat /dev/sdb1 File: /dev/sdb1 Size: 0 Blocks: 0 IO Block: 65536 block special file Device: 8,17 Inode: 524305 Links: 1 Device type: 8,17 Access: (0666/brw-rw-rw-) Uid: (197608/ Marco) Gid: (197121/ NESSUNO) Access: 2025-12-22 06:55:21.968106000 +0100 Modify: 2025-12-22 06:55:21.968106000 +0100 Change: 2025-12-22 06:55:21.968106000 +0100 Birth: 2025-12-22 06:55:21.968106000 +0100 real 0m0.099s user 0m0.030s sys 0m0.000s $ time stat /cygdrive/d File: /cygdrive/d Size: 0 Blocks: 8 IO Block: 65536 directory Device: 54787,64366 Inode: 1407374883553285 Links: 1 Access: (0770/drwxrwx---) Uid: ( 18/ SYSTEM) Gid: ( 18/ SYSTEM) Access: 2025-12-21 19:40:02.793348100 +0100 Modify: 2025-11-11 15:18:10.162456400 +0100 Change: 2025-11-11 15:18:10.162456400 +0100 Birth: 2018-04-11 15:14:25.158842400 +0200 real 0m0.028s user 0m0.015s sys 0m0.000s Regards Marco -- Problem reports: https://cygwin.com/problems.html FAQ: https://cygwin.com/faq/ Documentation: https://cygwin.com/docs.html Unsubscribe info: https://cygwin.com/ml/#unsubscribe-simple