-
Notifications
You must be signed in to change notification settings - Fork 8
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
Poor Initial Model Solve Time #129
Comments
@pulsipher we tested locally (with version 0.5.0) and got: n = 10
With POI
0.044798 seconds (294.44 k allocations: 24.596 MiB)
Without POI
0.034291 seconds (229.99 k allocations: 18.008 MiB)
n = 20
With POI
0.363822 seconds (2.12 M allocations: 173.889 MiB, 21.93% gc time)
Without POI
0.356139 seconds (1.65 M allocations: 126.521 MiB, 26.95% gc time)
n = 30
With POI
1.509753 seconds (6.92 M allocations: 564.264 MiB, 32.25% gc time)
Without POI
1.193309 seconds (5.39 M allocations: 410.021 MiB, 31.71% gc time)
n = 40
With POI
3.311930 seconds (16.11 M allocations: 1.286 GiB, 26.13% gc time)
Without POI
2.581702 seconds (12.55 M allocations: 954.376 MiB, 21.15% gc time)
n = 50
With POI
6.229631 seconds (31.16 M allocations: 2.443 GiB, 22.18% gc time)
Without POI
4.974451 seconds (24.26 M allocations: 1.793 GiB, 21.89% gc time) can you re-run your tests? |
Good work on the refactoring! I can confirm the issue is now resolved. I get the following: n = 10
With POI
0.055789 seconds (511.25 k allocations: 29.792 MiB)
Without POI
0.051452 seconds (382.75 k allocations: 21.984 MiB)
n = 20
With POI
0.685148 seconds (3.71 M allocations: 211.965 MiB, 59.93% gc time)
Without POI
0.270249 seconds (2.78 M allocations: 155.694 MiB, 13.96% gc time)
n = 30
With POI
1.125412 seconds (12.10 M allocations: 688.445 MiB, 21.65% gc time)
Without POI
0.957738 seconds (9.04 M allocations: 505.112 MiB, 32.97% gc time)
n = 40
With POI
3.047981 seconds (28.20 M allocations: 1.568 GiB, 26.29% gc time)
Without POI
2.118862 seconds (21.06 M allocations: 1.148 GiB, 29.27% gc time)
n = 50
With POI
5.506121 seconds (54.73 M allocations: 2.994 GiB, 25.72% gc time)
Without POI
4.106402 seconds (40.93 M allocations: 2.215 GiB, 26.09% gc time) |
Awesome! |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
I am revisiting the performance results I shared in #108 and I have found that the time to translate the initial model with POI to the solver now scales quite poorly relative to JuMP (I don't recall having this problem before after #114 when I tried last year).
With
n=10
using POIv0.4.3
, JuMPv1.9
, and Gurobiv1.0
I get:With
n = 20
I get:With
n = 30
I get:With
n = 40
I get:For my tests, this poor scalability in the initial build/solve time negates the benefit from faster resolve builds.
The text was updated successfully, but these errors were encountered: