Closed
Description
Example from discourse: https://discourse.julialang.org/t/optimal-model-creation-and-garbage-collection/72619
julia> using JuMP, Gurobi
julia> function create_model(I, T = 10000)
model = Model(Gurobi.Optimizer; add_bridges = false)
set_time_limit_sec(model, 0.001)
@variable(model, 0 <= x[1:I, 1:T] <= 100)
@constraint(model, [i in 1:I, t in 2:T], x[i, t] - x[i, t-1] <= 10)
@constraint(model, [i in 1:I, t in 2:T], x[i, t] - x[i, t-1] >= -10)
@objective(model, Min, sum(x))
return model
end
create_model (generic function with 2 methods)
julia> solve_model!(model) = optimize!(model)
solve_model! (generic function with 1 method)
julia> i = 1000;
julia> @time model = create_model(i);
Academic license - for non-commercial use only - expires 2022-01-06
369.139157 seconds (362.98 M allocations: 24.727 GiB, 91.34% gc time)
91% of the time being spent in GC isn't ideal! We should find there this garbage is coming from.