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

Re-think our VFS abstraction #18948

Open
Veykril opened this issue Jan 16, 2025 · 2 comments
Open

Re-think our VFS abstraction #18948

Veykril opened this issue Jan 16, 2025 · 2 comments
Labels
A-vfs C-Architecture Big architectural things which we need to figure up-front (or suggestions for rewrites :0) )

Comments

@Veykril
Copy link
Member

Veykril commented Jan 16, 2025

The current setup is brittle and tends to break very easily in unexpected ways (#18886 (comment) being an example). The system is also somewhat difficult to follow (the way we partition the VFS into sourceroots is not easily understandable). We should simplify this and clean it up. One idea we've had is to first and foremost move the VFS state into salsa (once we have migrated over to the new one), as currently we have a weird middle ground between the two (some info is outside salsa, some is inside). The other thing is that we need to likely add support for lazily loading file contents (which likely means incurring i/o within salsa queries).

@Veykril Veykril added A-vfs C-Architecture Big architectural things which we need to figure up-front (or suggestions for rewrites :0) ) labels Jan 16, 2025
@Veykril
Copy link
Member Author

Veykril commented Jan 16, 2025

cc @davidbarsky opening this so we can keep track of it (might want to link to this from the perf tracking issue even)

@Veykril Veykril mentioned this issue Jan 16, 2025
5 tasks
@davidbarsky
Copy link
Contributor

The other thing is that we need to likely add support for lazily loading file contents (which likely means incurring i/o within salsa queries).

Unless I misunderstood what you said, we can lazily load files and file contents in Salsa today. Regardless, my opinion is that we should try to batch IO as much as possible instead of being lazy.

cc @davidbarsky opening this so we can keep track of it (might want to link to this from the perf tracking issue even)

Yeah, I'll update that issue to include this.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
A-vfs C-Architecture Big architectural things which we need to figure up-front (or suggestions for rewrites :0) )
Projects
None yet
Development

No branches or pull requests

2 participants