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