-
-
Notifications
You must be signed in to change notification settings - Fork 347
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
Improve the performance of GetModIfaceFromDisk in large repos and delete GetDependencies #2323
Merged
Commits on Nov 11, 2021
-
Improve the performance of GetModIfaceFromDisk in large repos
There are three benefits: 1. GetModIfaceFromDisk and GhcSessionDeps no longer depend on the transitive module summaries. This means fewer edges in the build graph = smaller build graph = faster builds 2. Avoid duplicate computations in setting up the GHC session with the dependencies of the module. Previously the total work done was O(NlogN) in the number of transitive dependencies, now it is O(N). 3. Increased sharing of HPT and FinderCache. Ideally we should also share the module graphs, but the datatype is abstract, doesn't have a monoid instance, and cannot be coerced to something that has. We will need to add the Monoid instance in GHC first. On the Sigma repo: - the startup metric goes down by ~34%. - The edit metric also goes down by 15%. - Max residency is down by 30% in the edit benchmark.
Configuration menu - View commit details
-
Copy full SHA for 5c8e999 - Browse repository at this point
Copy the full SHA 5c8e999View commit details -
Configuration menu - View commit details
-
Copy full SHA for 91e544a - Browse repository at this point
Copy the full SHA 91e544aView commit details -
Configuration menu - View commit details
-
Copy full SHA for 1bcf14d - Browse repository at this point
Copy the full SHA 1bcf14dView commit details -
Configuration menu - View commit details
-
Copy full SHA for 8555d61 - Browse repository at this point
Copy the full SHA 8555d61View commit details -
Configuration menu - View commit details
-
Copy full SHA for 680ff1f - Browse repository at this point
Copy the full SHA 680ff1fView commit details -
Configuration menu - View commit details
-
Copy full SHA for 0019fa9 - Browse repository at this point
Copy the full SHA 0019fa9View commit details -
Configuration menu - View commit details
-
Copy full SHA for 1739927 - Browse repository at this point
Copy the full SHA 1739927View commit details -
Configuration menu - View commit details
-
Copy full SHA for fdcb77f - Browse repository at this point
Copy the full SHA fdcb77fView commit details -
Configuration menu - View commit details
-
Copy full SHA for 05f67b6 - Browse repository at this point
Copy the full SHA 05f67b6View commit details -
Configuration menu - View commit details
-
Copy full SHA for fbdda10 - Browse repository at this point
Copy the full SHA fbdda10View commit details -
Configuration menu - View commit details
-
Copy full SHA for 1bf410f - Browse repository at this point
Copy the full SHA 1bf410fView commit details -
Configuration menu - View commit details
-
Copy full SHA for f2137c9 - Browse repository at this point
Copy the full SHA f2137c9View commit details -
Configuration menu - View commit details
-
Copy full SHA for 3e03be5 - Browse repository at this point
Copy the full SHA 3e03be5View commit details -
Introduce config options for the main rules
Surfacing the performance tradeoffs in the core build rules
Configuration menu - View commit details
-
Copy full SHA for 9f95dbb - Browse repository at this point
Copy the full SHA 9f95dbbView commit details -
Configuration menu - View commit details
-
Copy full SHA for bf2dbfa - Browse repository at this point
Copy the full SHA bf2dbfaView commit details -
Configuration menu - View commit details
-
Copy full SHA for 9d6ba9e - Browse repository at this point
Copy the full SHA 9d6ba9eView commit details
Commits on Nov 12, 2021
-
Configuration menu - View commit details
-
Copy full SHA for ef370d5 - Browse repository at this point
Copy the full SHA ef370d5View commit details
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.