Skip to content
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

Faster compilation of inductive implicits #421

Closed
1 of 4 tasks
milessabin opened this issue Aug 31, 2017 · 1 comment
Closed
1 of 4 tasks

Faster compilation of inductive implicits #421

milessabin opened this issue Aug 31, 2017 · 1 comment
Assignees
Milestone

Comments

@milessabin
Copy link

milessabin commented Aug 31, 2017

From the initial PR,

This PR provides much faster (35 x in the provided benchmark case) compilation of the kind of inductive implicit resolution that is found in shapeless and its uses for type class derivation in libraries such as Circe, Doobie and Scodec.

@milessabin
Copy link
Author

It turned out that almost all of the compile time superlinearity was accounted for by exploring solutions using polymorphic implicits which would never be applicable. In addition, unnecessary logging side effects added a huge constant factor. The former is fixed by early pruning of inapplicable polymorphic implicits and the latter by eliding the logging where possible.

@SethTisue SethTisue added this to the 2.13.0-M5 milestone Nov 4, 2018
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

2 participants