DMARC-Filter: OpenDMARC Filter v1.4.2 delorie.com 56DLtECl3744973 Authentication-Results: delorie.com; dmarc=pass (p=none dis=none) header.from=cygwin.com Authentication-Results: delorie.com; spf=pass smtp.mailfrom=cygwin.com DKIM-Filter: OpenDKIM Filter v2.11.0 delorie.com 56DLtECl3744973 Authentication-Results: delorie.com; dkim=pass (1024-bit key, unprotected) header.d=cygwin.com header.i=@cygwin.com header.a=rsa-sha256 header.s=default header.b=Zz8z1d5o X-Recipient: archive-cygwin AT delorie DOT com DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org 603AD385841D DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=cygwin.com; s=default; t=1752443711; bh=TcyPeoMon54UOFffcRwDobDhPY6G7i9RHK0owyQCUqk=; h=Date:Subject:To:References:In-Reply-To:List-Id:List-Unsubscribe: List-Archive:List-Post:List-Help:List-Subscribe:From:Reply-To:Cc: From; b=Zz8z1d5o5CxHNdTuyHzILhKRnGWre2Q/9W+f1IstEySrRatcRLU4RRPTAavovI1/v B0XF090T4n9Sa92Sh7e9vwRVeABDzCMdzZPUNVJH4Y38ZRp4yvNeVSNO+WEuCOB1TC uX4VP3yIXtDiZO8u2x6c+K4scq26ofqxabrV8HZg= X-Original-To: cygwin AT cygwin DOT com Delivered-To: cygwin AT cygwin DOT com DMARC-Filter: OpenDMARC Filter v1.4.2 sourceware.org 7F6B63858D37 ARC-Filter: OpenARC Filter v1.0.0 sourceware.org 7F6B63858D37 ARC-Seal: i=1; a=rsa-sha256; d=sourceware.org; s=key; t=1752443656; cv=none; b=WcEzyipP21+hZxbWjytKbYOEU/1jox58UmHG7kbMBZ5GRa6w1FZlEDDGP+dgrO2hPq1bgVijeKy6yPxi05fBwCtQCrgVCUPrThBfY5qbuq/B9LYNPQwN1BzfG0e/Naa1RVdC7IpILuv1IA8Yr/RDk7nElnkt064zE1fu9kYEMio= ARC-Message-Signature: i=1; a=rsa-sha256; d=sourceware.org; s=key; t=1752443656; c=relaxed/simple; bh=R/abBCdahsrKWJOCwbOrdQdKW2jyh9LCDGZoN2Go+HY=; h=Message-ID:Date:MIME-Version:From:Subject:To:DKIM-Signature; b=sCHbRJAdy7i5de6HAwD7fz0QbT45x+foxr4fieYI/zV0IDmU0DSpWC/qYceLfzJjuh8hsj35J9prp78FH5S47LIZC02BbYJfCr+aBBDa6N0V5QRzZ514tHNejaC1kFH7Yq6Tcv3V+dWgWJ1YaZePiZTWSFeITHe7jZ7CWivtCK0= ARC-Authentication-Results: i=1; server2.sourceware.org DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org 7F6B63858D37 Message-ID: <45887d0a-17d3-40ce-bea5-13fdf9081edd@systematicsw.ab.ca> Date: Sun, 13 Jul 2025 15:54:13 -0600 MIME-Version: 1.0 User-Agent: Mozilla Thunderbird Subject: Re: SLOW ls(1) - cygwin dir lookups with WinNT async requests? Content-Language: en-CA To: cygwin AT cygwin DOT com References: Organization: Systematic Software In-Reply-To: X-Stat-Signature: sdsf5uthmojowh1gfxdskkyfyu6j88y9 X-Rspamd-Server: rspamout07 X-Rspamd-Queue-Id: B4FBB6000C X-Session-Marker: 427269616E2E496E676C69734053797374656D6174696353572E61622E6361 X-Session-ID: U2FsdGVkX1+KdNQ1fG7rM6N56he+Z8StLoXfGHCESiQ= X-HE-Tag: 1752443654-729164 X-HE-Meta: U2FsdGVkX1/utDv0ye1q0h5x6MT+ThyMLtgk30B4krz0+zcPOwkJVc3BiCtjnzyIWZsFp6YPQus7+n0HFu+5pY7q1xNAs2kl18BHUa28du2KHtNrCFhHPNi8TPm4FqWapTb8WSTn1YPtC9FDnqmTYukfaeJ0plaKNfT4XliQfQiFHKcBy6DD9P5iYuOW7RgfbC91CtYygScsm+WIeCeHYdAfs8mH6OoMKlqoaLjoqroWj7/SgNuQVSOzKnDfxBHIEsrahYlD39PMdkCXsyBv5H2Sr17vXGflKFKBkmrou4zf+iD3d4sKSYKipYEDFRkpvlKJMR5ms+2T0ZuXDq7PI6XAME1F/W9H X-BeenThere: cygwin AT cygwin DOT com X-Mailman-Version: 2.1.30 Precedence: list List-Id: General Cygwin discussions and problem reports List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , From: Brian Inglis via Cygwin Reply-To: cygwin AT cygwin DOT com Cc: brian DOT inglis AT systematicsw DOT ab DOT ca Content-Type: text/plain; charset="utf-8"; Format="flowed" Errors-To: cygwin-bounces~archive-cygwin=delorie DOT com AT cygwin DOT com Sender: "Cygwin" Content-Transfer-Encoding: 8bit X-MIME-Autoconverted: from base64 to 8bit by delorie.com id 56DLtECl3744973 On 2025-07-12 10:43, Aurélien Couderc via Cygwin wrote: > Follow up to an old thread, > Corinna wrote this: >> Forth, by not trusting Cygwin to do the right thing and adding a lot >> of unnecessary code for each single ACL, you slow down ls(1) even more >> on Cygwin, which already gets a beating for being slow. > > Did anyone consider doing the directory lookups piece by piece, as > async requests? > Each time read and process a bit of the directory listing, while the > filesystem requests for the next bits run as Windows async requests? > That would promote at least parallelism, instead of doing it serially > like now. ISTM the assumption is that any directories accessed are already cached by the filesystem, whether Linux, Unix, or Windows, so I/O is not required, and even in Cygwin's case it only has to return the Windows entries converted to dirent/posix_dent in the directory functions (in a 62KB cache buffer holding 100 entries) for use by coreutils ls(1). Stat and ACL info require additional calls. -- Take care. Thanks, Brian Inglis Calgary, Alberta, Canada La perfection est atteinte Perfection is achieved non pas lorsqu'il n'y a plus rien à ajouter not when there is no more to add mais lorsqu'il n'y a plus rien à retrancher but when there is no more to cut -- Antoine de Saint-Exupéry -- 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