-
Notifications
You must be signed in to change notification settings - Fork 1.1k
abnormal long compilation time of match over case classes structure #13565
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
long-compilation-example.tar.gz full sbt project |
Performance seems to have regressed between 3.0.1 and 3.0.2:
|
Although would be good to try and track the growth of the problem over reducing cases |
I recognise those command line options! 😄 I'm pretty sure #13030 is what changed that. There's a number of places in the space engine where work is done multiple times, some of which I've removed (in master) while fixing other issues but others where the result is less easily retrainable. Meaning we could memoise them, but then we might start breaching our memory budget. I'll play with the case and see what I can see. |
minimization is problematic because we can lose visible slowdown during this. I.e. I'm pretty sure, that with 3 case classes instead of 63 this will be fast. How we can detect a 'minimal limit' when performance difference becomes visible? |
So 63 classes takes (on your machine) 2:30 minutes. Perhaps we can write out 4 or 5 incremental steps on that (e.g. 8 -> 16 -> 32 -> 64 classes), and assert on by how much compilation speed increases. As in, linear growth rather than exponential, perhaps. |
Compiler version
3.1.0-RC2
Minimized example
Output
Expectation
compilation speed should be significantly faster.
The text was updated successfully, but these errors were encountered: