-
Notifications
You must be signed in to change notification settings - Fork 407
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
Refactor of sieve in Gen #610
Conversation
This is part of work on Gen performance improvements.
This first revision of removing
|
In particular, this adds retrying to the infiniteStream, stringOf, and stringOfN combinators. It also slightly optimizes the loop conditions on buildableOfN, removes lazy from most arbitrary definitions, and cleans up a few other things. This commit does appear to have made some benchmarks slower, although it's possible my machine is just more busy than it was. I've also added a few more benchmarks.
Despite the improvements, the Travis build here still takes 57 min. Although, the majority of that time is compilation and sbt runtime. I collected some sbt task times (e.g. "Total time: 226 s (03:46), completed Jan 10, 2020 9:10:47 PM") from the Travis build. It seems the test suite takes about 25 mins across the build matrix. This improvement was a 90s improvement, or 6%. |
One of the todo list items Erik had was:
This should answer that question. I'll cherry-pick the subsequent commits and see if the performance changes any further. |
The subsequent revision to
|
The last small revision to
|
Co-authored-by: Filippo Mariotti <barambani@users.noreply.github.com>
Code cherry-picked from #575