Using GetFileInformationByName
in Windows for file stat/metadata operations
#130169
Labels
A-filesystem
Area: `std::fs`
C-optimization
Category: An issue highlighting optimization opportunities or PRs implementing such
I-slow
Issue: Problems and improvements with respect to performance of generated code.
O-windows
Operating system: Windows
T-libs
Relevant to the library team, which will review and decide on the PR/issue.
Continuing discussion from #128256...
Currently, window's fs.rs uses the
GetFileInformationByHandle
api which requires opening and closing a file handle. A new API will be available in future builds of Windows (from documentation it should be around 24H2/26052) calledGetFileInformationByName
which does not require opening a file handle. This reduces 2-3 syscalls in this code path which can have a reasonable performance gain.There are a few design considerations however,
#[cfg(not(target_vendor = "win7")
] )Currently, this change would support tier-1 support for #121478 since it includes all the fields needed in one call. In addition to removing the additional syscall for handling reparse points.
Prior Art:
Links:
cc: @ChrisDenton
The text was updated successfully, but these errors were encountered: