Skip to content

Conversation

soulomoon
Copy link
Collaborator

@soulomoon soulomoon commented Nov 9, 2024

Follow up of and already include the changes in #4439
Refactored session loader to use architecture that having multiple readers and writer over the cache .

In bigger project, HLS usually loading up slow. One of the main obstacle is that we are loading ghc options for files in strict sequential order.
I have made an attemp to improve the situation by refactoring this loading into reader and writer over cache. This way, the long laoding file won't be blocking already loaded files, making hls more responsive and smooth.

Also it eliminates session loading for the same file from being multiply requested, by lining up in an ordered set in stead of a list.

@soulomoon soulomoon force-pushed the batch-load-multi-read branch from ba7379b to 79a43a0 Compare November 9, 2024 12:06
@soulomoon
Copy link
Collaborator Author

soulomoon commented Sep 6, 2025

Working fine mostly, the only problem I saw during dogfooding is:
Sometimes Dependency is not correct using batch load. e.g. In hls codebase, hls-graph.cabal might be be added as an dependency of Development.IDE.Graph.Database. Then modification to hls-graph.cabal then won't reload related files.

Any ideas ? @fendor

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
performance Issues about memory consumption, responsiveness, etc.
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants