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

Reply via email to