-
-
Notifications
You must be signed in to change notification settings - Fork 1.6k
ls: Fix excessive ls -al syscalls for ACL metadata #8660
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
base: main
Are you sure you want to change the base?
Conversation
…s/coreutils into reduce_syscalls_acls
GNU testsuite comparison:
|
GNU testsuite comparison:
|
GNU testsuite comparison:
|
GNU testsuite comparison:
|
GNU testsuite comparison:
|
excellent, happy to merge this when it is ready :) |
CodSpeed Performance ReportMerging #8660 will not alter performanceComparing Summary
Footnotes
|
GNU testsuite comparison:
|
This comment was marked as outdated.
This comment was marked as outdated.
GNU testsuite comparison:
|
GNU testsuite comparison:
|
I think this one is ready! Sorry for so much toil beforehand. |
seems that it regressed this test |
GNU testsuite comparison:
|
How does one know of this is resolved, if this test is skipped? |
GNU testsuite comparison:
|
GNU testsuite comparison:
|
is the key here :) |
I don't believe this test was ever passing. Test is rightly skipped because we do not use
uutils However, note that the current behavior ( See current
In any event, this GNU test should be skipped or ignored, because we should not force PRs to use precise GNU syscall behavior, when we can use more modern methods, with perhaps other benefits. See also the failing test in my other PR: |
Agreed is this PR ready? :) |
Yes I think so! Most of these changes were/are about correctness. The big improvement in # of syscalls will be in the next PR however: #8663. And in any update to the xattr crate, when it is ready: #8660 (comment) |
GNU testsuite comparison:
|
I guess it has a positive impact on performance, did you run benchmarking (hyperfine) on this ? thanks |
Right now any performance differences are modest (worth 1 or 2 ms in hyperfine?). I have a feeling this will have a big impact when I/others merge a few more PRs. After spending some time with it, my guess is that, oddly, any performance difference is not down to syscalls. These seem to happen pretty fast. Much more likely it is silly allocation behavior. Like create a bunch of small Strings instead of creating one String, etc. I have another PR where we were previously doing an insert and a remove on a HashMap for each directory we entered, needlessly. Stuff like that. |
GNU testsuite comparison:
|
Reduces syscalls by searching for the specific ACL xattr key instead of requesting a list of all keys and values.
Fixes: #8350