Skip to content

Commit faf8bce

Browse files
ci: add benchmark for large parameter initialization model
1 parent b98e12f commit faf8bce

File tree

1 file changed

+17
-0
lines changed

1 file changed

+17
-0
lines changed

benchmark/benchmarks.jl

Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,7 @@ using ModelingToolkitStandardLibrary.Electrical
44
using ModelingToolkitStandardLibrary.Mechanical.Rotational
55
using ModelingToolkitStandardLibrary.Blocks
66
using OrdinaryDiffEqDefault
7+
using ModelingToolkit: t_nounits as t, D_nounits as D
78

89
const SUITE = BenchmarkGroup()
910

@@ -59,3 +60,19 @@ SUITE["ODEProblem"] = @benchmarkable ODEProblem($model, $u0, $tspan)
5960
# first call
6061
init(prob)
6162
SUITE["init"] = @benchmarkable init($prob)
63+
64+
large_param_init = SUITE["large_parameter_init"] = BenchmarkGroup()
65+
66+
N = 25
67+
@variables x(t)[1:N]
68+
@parameters A[1:N, 1:N]
69+
70+
defval = collect(x) * collect(x)'
71+
@mtkcompile model = System(
72+
[D(x) ~ x], t, [x], [A]; defaults = [A => defval], guesses = [A => fill(NaN, N, N)])
73+
74+
u0 = [x => rand(N)]
75+
prob = ODEProblem(model, u0, tspan)
76+
large_param_init["ODEProblem"] = @benchmarkable ODEProblem($model, $u0, $tspan)
77+
78+
large_param_init["init"] = @benchmarkable init($prob)

0 commit comments

Comments
 (0)