-
Notifications
You must be signed in to change notification settings - Fork 28
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
Address recent performance regression #90
Conversation
Reported in the schrodigner bug tracker as SHARED-7789 Our performance monitoring tests noticed that coordgen got about 10x slower after PR schrodinger#81. I guess the inner loop of minimization must be hitting the max pretty frequently! We should address that too. (this doubles the max iterations from before schrodinger#81, but that's ok because schrodinger#81 halved the calls to this function) Before this change: slowest: 1.442s average: 0.044s molecules above 0.1s: 566 molecules above 1s: 9 after this change: slowest: 0.151s average: 0.006s molecules above 0.1s: 12 molecules above 1s: 0
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.
Dropping this back to the previous number of iterations makes sense to me
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.
This makes sense!
@@ -37,7 +37,7 @@ static const unsigned int MAXIMUM_NUMBER_OF_SCORED_SOLUTIONS = 10000; | |||
static const float REJECTED_SOLUTION_SCORE = 99999999.f; | |||
CoordgenMinimizer::CoordgenMinimizer() | |||
{ | |||
m_maxIterations = 10000; |
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.
Was this just a typo? Or were the previous changes expected to make the minimizer converge much sooner than 10000 iterations?
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.
It was both! Nic didn't expect that so many structures hit the max, so thought that this change wouldn't matter.
And I, in reviewing it, read it as 1,000 instead of 10,000. (a "read-o", I guess)
This is pretty urgent, because it includes a fix for a 10X performance regression in coordgen (schrodinger/coordgenlibs#90). It also fixes coordinate generation for 2.2.2 bicyclic systems.
This is pretty urgent, because it includes a fix for a 10X performance regression in coordgen (schrodinger/coordgenlibs#90). It also fixes coordinate generation for 2.2.2 bicyclic systems.
This is pretty urgent, because it includes a fix for a 10X performance regression in coordgen (schrodinger/coordgenlibs#90). It also fixes coordinate generation for 2.2.2 bicyclic systems.
Reported in the schrödinger bug tracker as SHARED-7789
Our performance monitoring tests noticed that coordgen got about
10x slower after PR #81. I guess the inner loop of minimization
must be hitting the max pretty frequently! We should address
that too.
(this doubles the max iterations from before #81, but that's ok
because #81 included a tidy refactor that halved the calls to this
function)
Before this commit:
After this commit: