-
Notifications
You must be signed in to change notification settings - Fork 35
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
Add caching #173
Add caching #173
Conversation
Codecov Report
@@ Coverage Diff @@
## master #173 +/- ##
==========================================
+ Coverage 53.48% 53.55% +0.07%
==========================================
Files 3 3
Lines 531 534 +3
==========================================
+ Hits 284 286 +2
- Misses 247 248 +1
Continue to review full report at Codecov.
|
The fact that it's all the |
Cache solution_status eagerly
I agree! |
What's the benchmark with your latest changes? |
Just a note to say that I haven't forgotten about this PR. But I've been busy with the MOI 0.10 release so I haven't had a chance to take a deeper look yet. |
No problem at all! I'm not blocked by this, just trying to do my duty as a user and report issues (and fix what I feel is within reach for me to fix). Let me know if there is anything more I can do (the "deeper issue" feels a bit out of reach for me atm). |
This is the proposed fix for #172
Unfortunately, only caching of the solution seems to have a pretty disappointing impact on the benchmark:
Profiling shows that
Cbc_isProvenOptimal
andCbc_getNumIntegers
seems to dominate the computation time.After adding caching of those two performance appears to be back on track:
There are probably alot of other
Cbc_X
functions which are also too slow, but I lack the overall understanding to pinpoint them.I have tried to make a minimum of changes for easier reviewing of the "core changes", but please suggest better structure and names if you think this is the way to go. I don't mind nitpicking.