-
Notifications
You must be signed in to change notification settings - Fork 413
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
ls takes a long time for medium-sized directories #39
Comments
Doing a plain
|
This appears to scale linearly: |
Plan: work on #29, then come back and measure again. |
Reposting from #29: The only way I see to make the first |
I've started on the type cache in branch
|
Oh, DirInode.SourceGeneration doesn't actually exist any more. Here instead is the code that needs fixing: we mint a new directory inode every single time. Ah, now it makes sense to me why doing 500 |
* The inode object is now stable across requests. This is necessary for maintaining a cache in the inode object. * There is no longer any concept of source objects, which complicated reasoning about caching on the inode object. For #39.
Current status: I believe the skeleton of this is set up correctly on branch To do:
|
Instead, send requests via DirInode, allowing it in the future to invalidate and update its type cache. For #39.
Still to do:
|
This appears to be implemented at b38756f. Still to do:
|
Okay, |
That fixed it, but |
This lets it happen in parallel. For #39.
Nice, that brings |
I hear a second-hand report that doing
ls
on a directory with a few hundred files takes multiple minutes, from GCE. This is probably due tols
doing a ton of stats plus our consistency guarantees, so plays into #29 (adding a "go fast" mode with caching and reduced guarantees). Investigate and make sure.The text was updated successfully, but these errors were encountered: