-
-
Notifications
You must be signed in to change notification settings - Fork 390
Storing dependencies contributes significantly to memory usage #2963
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
Comments
These do not look like reverse dependencies to me. Reverse deps are stored in a haskell-language-server/hls-graph/src/Development/IDE/Graph/Internal/Types.hs Lines 99 to 102 in 30d48ed
|
More generally, the space usage of build keys is something that I noticed a while ago. I tried to maximising sharing of But then decided to revert that change since it has its own set of problems: And instead apply a more localised fix for the worst offender: |
Question: are the space usage stats produced by |
Sorry, these aren't reverse dependencies but the direct dependencies stored in
Yes, I believe so. I think in this case a large part of the problem is that Also, the definition of class (Typeable a, ...) => C a
instance (Typeable a, ...) => C a
data Key a = forall a. C a => Key a |
Is this still a problem? |
I ran a profile after loading GHC into HLS and see that many of the large sources of allocation are due to to big lists of keys.
Total: 1.8 million allocated key values for 90MB (10%) of live data
1.4 million, 34MB of lists containing keys
1.2 million, 29MB of the
GetModSummaryWithoutTimestamps
KeyThe text was updated successfully, but these errors were encountered: