-
-
Notifications
You must be signed in to change notification settings - Fork 391
compute deps fingerprint only #4594
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
base: master
Are you sure you want to change the base?
Conversation
Thank you for working on that topic. I applied the patch and did not observe much improvement in my work codebase (e.g. any added I will have a look a bit later during the day with the "simple" examples that I had provided in #4443, maybe this actually fix / improves them and maybe there is another issue with my codebase. |
@soulomoon Thank you for this code. I've tested it with the replication depicted in #4443 (comment) (after rebasing the replication code on the commit just before this MR). What I can observe: With commit before this MR:
With this commit from this MR:
This is an awesome success! I unfortunately do not understand the implementation so I cannot comment more than that, but this is awesome and should be merged ASAP ;) @fendor maybe you can have a look. EDIT: I've cleaned my |
@@ -1145,7 +1145,7 @@ needsCompilationRule file | |||
| "boot" `isSuffixOf` fromNormalizedFilePath file = | |||
pure (Just $ encodeLinkableType Nothing, Just Nothing) | |||
needsCompilationRule file = do | |||
graph <- useNoFile GetModuleGraph | |||
graph <- use GetFileModuleGraph file |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I forget to change this rule previously.
Thank you so much for your detailed feedback. I am so happy that the fix worked ! For this PR, all the compilation rules that use
Interesting, it seems to fix some thing more than I expected. I just discovered that I forget to update the rule
|
@soulomoon regarding your concern about memory usage, I've discussed that a bit in #4598 and I'm sure we can shrink the memory usage of the dependency graph by a factor 10 at a minimum. I'll try to work on that asap.
It does make sense, I suppose (and hope) that modules with template haskell do have a |
Just follow implementation from #4443 (comment) @guibou very good bisect and findings