-
Notifications
You must be signed in to change notification settings - Fork 13.3k
speedup directory traversal on windows #131972
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
Conversation
r? @ChrisDenton rustbot has assigned @ChrisDenton. Use |
For app: use walkdir::WalkDir;
fn main() {
let mut c = 0;
for _entry in WalkDir::new(".") {
c += 1;
}
println!("{}",c );
} running over
|
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Seems fine to me. It would be interesting to see the effect of FIND_FIRST_EX_LARGE_FETCH
given modern systems. But in any case I do think this is an improvement.
@bors r+ |
☀️ Test successful - checks-actions |
Finished benchmarking commit (3ec4308): comparison URL. Overall result: no relevant changes - no action needed@rustbot label: -perf-regression Instruction countThis benchmark run did not return any relevant results for this metric. Max RSS (memory usage)Results (secondary -2.9%)This is a less reliable metric that may be of interest but was not used to determine the overall result at the top of this comment.
CyclesResults (secondary 4.1%)This is a less reliable metric that may be of interest but was not used to determine the overall result at the top of this comment.
Binary sizeThis benchmark run did not return any relevant results for this metric. Bootstrap: 782.557s -> 781.937s (-0.08%) |
Optimizes walking over dirs on windows by replacing
FindFirstFileW
withFindFirstFileExW
withFindExInfoBasic
option, that allows skipping filling unused struct field which should be faster.Also adds the same change for fallback call of
FindFirstFileExW
in metadata call.Locally shows small speedup, but bench results from other users are welcome.