You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
julia>@benchmark SBML.readSBML(fn, doc ->beginset_level_and_version(3, 2)(doc)
convert_simplify_math(doc)
end)
BenchmarkTools.Trial:1 sample with 1 evaluation.
Single result which took 21.036 s (0.00% GC) to evaluate,
with a memory estimate of 8.22 MiB, over 254217 allocations.
julia>@benchmarkODESystem(m)
BenchmarkTools.Trial:1 sample with 1 evaluation.
Single result which took 15.338 s (5.20% GC) to evaluate,
with a memory estimate of 3.68 GiB, over 89488902 allocations.
We can see with these results that the vast majority of allocs are in constructing ODESystem. It also gets much much worse as model size increases. It is quite shocking to see ~4 GiB allocated for a 2MB file.
I'm pretty sure with just improving the code we can get 15 seconds down at least 2x. This will be very helpful for running tests against the biomodels dataset, which currently takes an incredible amount of time.
One issue is that there is an excessive amount of create_var and create_param. There should only be length(m.species) number of calls to create_var, and similarly for params and length(m.parameters) + length(m.compartments).
The text was updated successfully, but these errors were encountered:
https://docs.julialang.org/en/v1/manual/profile/#Memory-allocation-analysis
for example take https://www.ebi.ac.uk/biomodels/BIOMD0000000469
We can see with these results that the vast majority of allocs are in constructing ODESystem. It also gets much much worse as model size increases. It is quite shocking to see ~4 GiB allocated for a 2MB file.
I'm pretty sure with just improving the code we can get 15 seconds down at least 2x. This will be very helpful for running tests against the biomodels dataset, which currently takes an incredible amount of time.
One issue is that there is an excessive amount of
create_var
andcreate_param
. There should only belength(m.species)
number of calls tocreate_var
, and similarly for params andlength(m.parameters) + length(m.compartments)
.The text was updated successfully, but these errors were encountered: