Skip to content
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

Performance enhancement for directory iteration on POSIX #104

Closed
gulrak opened this issue Feb 22, 2021 · 1 comment
Closed

Performance enhancement for directory iteration on POSIX #104

gulrak opened this issue Feb 22, 2021 · 1 comment
Assignees
Labels
available on master Fix is done on master branch, issue closed on next release enhancement New feature or request Linux Linux platform is affected macOS macOS platform is affected
Milestone

Comments

@gulrak
Copy link
Owner

gulrak commented Feb 22, 2021

This ticket collects some aspects that lead to lower performance on directory iteration on POSIX backend (e.g. macOS, Linux and FreeBSD).

  • fs::status doesn't always fill symlink information when possible, leading to subsequent redundant ::lstat calls.
  • fs::directory_iterator always recreates fs::directory_entry even when there is fs::directory_entry::assign
  • fs::recursive_directory_iterator queries full status and symlink status even when the only question is it the type is directory or symlink.
@gulrak gulrak added enhancement New feature or request macOS macOS platform is affected Linux Linux platform is affected labels Feb 22, 2021
@gulrak gulrak added this to the v1.5.2 milestone Feb 22, 2021
@gulrak gulrak self-assigned this Feb 22, 2021
gulrak added a commit that referenced this issue Feb 22, 2021
gulrak added a commit that referenced this issue Feb 22, 2021
@gulrak gulrak added the available on master Fix is done on master branch, issue closed on next release label Feb 27, 2021
@gulrak
Copy link
Owner Author

gulrak commented Feb 27, 2021

This is now part of release v1.5.2

@gulrak gulrak closed this as completed Feb 27, 2021
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
available on master Fix is done on master branch, issue closed on next release enhancement New feature or request Linux Linux platform is affected macOS macOS platform is affected
Projects
None yet
Development

No branches or pull requests

1 participant