-
Notifications
You must be signed in to change notification settings - Fork 710
Remove the Generic instance for LicenseId #8117
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
Remove the Generic instance for LicenseId #8117
Conversation
a5e7db1
to
1f37abc
Compare
1f37abc
to
704c660
Compare
Why is Setup trying to make up for the LicenseId speedup? |
Good question, this is indeed quite puzzling. |
Upstream (GHC) issue: https://gitlab.haskell.org/ghc/ghc/-/issues/16577 |
@Kleidukos @gbaz: I just had another idea: If a large enum-type is problematic for GHC's deriving mechanism, how about breaking it up into smaller bits, and restore the original interface using I suppose since GHC's stock deriving mechanism does not support nested enum types, one would have to code the |
@andreasabel It's an interesting solution, could you show us some benchmarks? I used https://github.com/codedownio/time-ghc-modules |
i think that idea is a lot of work for an instance that nobody really seems to need that much :-) |
Na. It is an idea, but I don't have the resources to follow up on it. |
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.
LGTM. Let's merge.
This was one of the main culprits when analysing the resources taken
by GHC when compiling lib:Cabal.
Is related to #8074.
This is what the timings look with, and without the instance:
then
Please include the following checklist in your PR:
Please also shortly describe how you tested your change. Bonus points for added tests!