DMARC-Filter: OpenDMARC Filter v1.4.2 delorie.com 56LGYgiu3047951 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 56LGYgiu3047951 X-Recipient: archive-cygwin AT delorie DOT com X-Original-To: cygwin AT cygwin DOT com Delivered-To: cygwin AT cygwin DOT com DMARC-Filter: OpenDMARC Filter v1.4.2 sourceware.org 086523858D37 ARC-Filter: OpenARC Filter v1.0.0 sourceware.org 086523858D37 ARC-Seal: i=1; a=rsa-sha256; d=sourceware.org; s=key; t=1753115671; cv=none; b=ZXc1EnB09K8GLRQ1ftsC9JJxRTqjz39/cbAczDbEkll5yFhA6WSVVXs1ltSM14r6t78SxjRP49DpTVM8eV1DUbM42Yb7gnj/1eZFoxyyylXjVgr78JHB+3rlnXnba1FbavZPuG5eTNa5T0+vH1dB5Y81HM68R8db9vdgmPo24M8= ARC-Message-Signature: i=1; a=rsa-sha256; d=sourceware.org; s=key; t=1753115671; c=relaxed/simple; bh=O2UazjPV4oRGGG8GgUkdk5K46sjYB6pDjt2LxVFKU7U=; h=DKIM-Signature:MIME-Version:From:Date:Message-ID:Subject:To; b=MwvPQjnYmG2GbRGkQk1RMHJE2HWzJKyQKoHrHToOJZPuhl1aIiBDAWALHyM0+kQNH+T8Py5+Z+nvaEwf+4wXCqIS/MGvcN3K855bIZpP+vI2Dr61tm8sIbDc6l61W3qnhVWy7/OeDhtIj+OFLlvsNzEHP5Kx7cYNtlmgRvZUTvQ= ARC-Authentication-Results: i=1; server2.sourceware.org X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1753115666; x=1753720466; h=content-transfer-encoding:to:subject:message-id:date:from :in-reply-to:references:mime-version:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=O2UazjPV4oRGGG8GgUkdk5K46sjYB6pDjt2LxVFKU7U=; b=Ix2+FzMWOXjm3avcvudgVut/Z9Cs+NEsD+7RdJZZ7v83rKbddtcUxhy3tPCjXVzGoc SH66PnKmA82vsJLOOUzGx522ycWRZSZnQFI3iNpqBciHWEFbXjZvfAPkigcKiYhEymg/ /tUq+QOgJtAfLTAKyaiRPFi/G3YUzKppASd++0VPL9lrmDoutkbEK+DtfrIxXosBFq/q LAj6UWFeMeR/a0AJlvT0Jgg6qoIQdw/xmKXoSK3xk+yZlOC/rPZtDzmTA1LrG4w02IZb PAmCYJc7CZ1h46Uakh3y172Pl4hHFrTPGB5lZtob1H0EagnVTWyeYD7aWfxNBW6Vgvq0 UXsw== X-Gm-Message-State: AOJu0YzYHoNnwWpG0IdKfnUUbUMNp+DtI3JmPxDKcnBNfk0fH434FJba L4EwgAVbLvIN+gKp1BGtHnGBZ0hECTElm0otONN7QODLQBrwEIMoFqxxeF0kAzNYaNuQKsXa4Y3 uXAo4YzWVAz1sqcR7sN66G46GiW4l6shgSG6T4/s= X-Gm-Gg: ASbGncuM4Kj5Pn2R9MBGsBT7oGOvZyE7UwoG22VPWNj3qczjUHhuE8z05LIgJxKsVD0 54BKounJ4/dnZbsIdpaECBClpr8cRhPMhPSczWoJErSnKjniLhRrqWxjjVCrF4qtH6ivIiDOHPa Lp962MyrdbmGzWbJ3jJgxl261sJT60k0IIE/sZLoWxU1Mj016aMDjCh2NeQYVs6TigVSUzefwqZ LaE6Dg= X-Google-Smtp-Source: AGHT+IELKqjj5BKquRdu5imO1iu7agBt57R72zLckA4kJcU9KT6fUDuL9fCzsz6KGe1FkPZ88Sdo5zgj3EyzlHvtmAE= X-Received: by 2002:a17:907:3f22:b0:adb:45eb:7d0b with SMTP id a640c23a62f3a-ae9cddfe616mr2171817366b.15.1753115666429; Mon, 21 Jul 2025 09:34:26 -0700 (PDT) MIME-Version: 1.0 References: <45887d0a-17d3-40ce-bea5-13fdf9081edd AT systematicsw DOT ab DOT ca> <3da288a3-3a70-41ca-b582-67500ae0fb9e AT SystematicSW DOT ab DOT ca> <1833586910 DOT 20250718134434 AT yandex DOT ru> <33cc340e-cf26-4721-a06e-8a1d8eb600c3 AT SystematicSW DOT ab DOT ca> In-Reply-To: <33cc340e-cf26-4721-a06e-8a1d8eb600c3@SystematicSW.ab.ca> Date: Mon, 21 Jul 2025 18:33:48 +0200 X-Gm-Features: Ac12FXy9efCohbARE-78HaB2WLyt47sSzCmyRTpii8HRCW2EiUKvUsyxpMNPchg Message-ID: Subject: Re: SLOW ls(1) - cygwin dir lookups with WinNT async requests? To: cygwin AT cygwin DOT com X-BeenThere: cygwin AT cygwin DOT com X-Mailman-Version: 2.1.30 List-Id: General Cygwin discussions and problem reports List-Archive: List-Post: List-Help: List-Subscribe: , From: =?utf-8?q?Aur=C3=A9lien_Couderc_via_Cygwin?= Reply-To: =?UTF-8?Q?Aur=C3=A9lien_Couderc?= Content-Type: text/plain; charset="utf-8" Sender: "Cygwin" Content-Transfer-Encoding: 8bit X-MIME-Autoconverted: from base64 to 8bit by delorie.com id 56LGYgiu3047951 On Mon, Jul 21, 2025 at 6:08 PM Brian Inglis via Cygwin wrote: > > On 2025-07-21 09:19, Aurélien Couderc via Cygwin wrote: > > On Fri, Jul 18, 2025 at 12:50 PM Andrey Repin wrote: > >> > >> Greetings, Aurélien Couderc! > >> > >>>>>> Stat and ACL info require additional calls. > >>>> > >>>>> Right, but my proposal is to do parallel/async lookups. The Windows NT > >>>>> kernel depends heavily on multithreading and parallelism, of which > >>>>> Cygwin uses nothing right now for dir lookups. > >>>> > >>>> Not an option unless it can be cheaply done under winsup/cygwin/fhandler. > >>>> Most utilities are GNU/BSD/Linux ports, so custom mods would have to be > >>>> submitted and accepted upstream, as we often already have enough patches to > >>>> maintain, to get them to build and work cleanly under Cygwin. > >> > >>> I think you misunderstand me. I am suggesting to improve the Cygwin > >>> implementation of opendir(), readdir() and friends to do Win32/WInNT > >>> calls async to speed up dir listings. > >> > >> If you know how it can be done, why not provide a patch? > > > > Because I am not YET qualified? This is god level Cygwin hacking > > level, like Corinna Vinschen can do. I'm just a student, doing some > > ReactOS/Windows hacking. > > Anyone making such fundamental changes would have to measure performance on SSDs > and Rust, with/out memory limitations, make changes, and remeasure, possibly > with a rebuild of coreutils if any changes were made to Cygwin that could affect > coreutils autoconf. I don't want to change the public cygwin API. I want to improve the implementation of opendir(), readdir() ... Aurélien -- Aurélien Couderc Big Data/Data mining expert, chess enthusiast -- 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