Skip to content

Commit 0ab9f91

Browse files
committed
refactor benchmark script
- remove compat for old nd - introduce BenchmarkCase data structure
1 parent 1a021f4 commit 0ab9f91

File tree

2 files changed

+18
-24
lines changed

2 files changed

+18
-24
lines changed

benchmark/benchmark_cases.jl

Lines changed: 17 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -16,66 +16,65 @@ struct BenchmarkCase
1616
description::String
1717
end
1818

19-
# Helper functions to reduce code duplication
20-
function make_ws_graph(N, k, β=0.0; rng=StableRNG(1))
21-
watts_strogatz(N, k, β; rng)
22-
end
23-
24-
function make_mixed_vertices(v1, v2, N; rng=StableRNG(1))
25-
vertex = [v1, v2]
26-
vertex[shuffle(rng, vcat([1 for _ in 1:N÷2], [2 for _ in 1:N÷2]))]
27-
end
28-
2919
# Standard benchmark cases
30-
const BENCHMARK_CASES = [
20+
BENCHMARK_CASES = [
3121
BenchmarkCase(
3222
"diffusion_static_edge",
3323
N -> begin
34-
g = make_ws_graph(N, N ÷ 2)
24+
g = watts_strogatz(N, N ÷ 2, 0.0; rng=StableRNG(1))
3525
Network(g, diffusion_vertex(), diffusion_edge())
3626
end,
27+
# [10,20],
3728
[100, 300, 1000, 3000],
3829
"Diffusion network with static edges"
3930
),
4031

4132
BenchmarkCase(
4233
"diffusion_ode_edge",
4334
N -> begin
44-
g = make_ws_graph(N, N ÷ 2)
35+
g = watts_strogatz(N, N ÷ 2, 0.0; rng=StableRNG(1))
4536
Network(g, diffusion_vertex(), diffusion_dedge())
4637
end,
38+
# [10,20],
4739
[100, 300, 1000, 3000],
4840
"Diffusion network with ODE edges"
4941
),
5042

5143
BenchmarkCase(
5244
"kuramoto_homogeneous",
5345
N -> begin
54-
g = make_ws_graph(N, 3, 0.8)
46+
g = watts_strogatz(N, 3, 0.8; rng=StableRNG(1))
5547
Network(g, kuramoto_vertex_2d(), static_kuramoto_edge())
5648
end,
49+
# [10,20],
5750
[100, 1_000, 10_000, 100_000],
5851
"Homogeneous Kuramoto oscillators"
5952
),
6053

6154
BenchmarkCase(
6255
"kuramoto_heterogeneous",
6356
N -> begin
64-
g = make_ws_graph(N, 3, 0.8)
65-
vertices = make_mixed_vertices(kuramoto_vertex_1d(), kuramoto_vertex_2d(), N)
57+
g = watts_strogatz(N, 3, 0.8; rng=StableRNG(1))
58+
rng = StableRNG(1)
59+
vtypes = [kuramoto_vertex_1d(), kuramoto_vertex_2d()]
60+
vertices = vtypes[shuffle(rng, vcat([1 for _ in 1:N÷2], [2 for _ in 1:N÷2]))]
6661
Network(g, vertices, static_kuramoto_edge())
6762
end,
63+
# [10,20],
6864
[100, 1_000, 10_000, 100_000],
6965
"Heterogeneous Kuramoto oscillators"
7066
),
7167

7268
BenchmarkCase(
7369
"powergrid",
7470
N -> begin
75-
g = make_ws_graph(N, 3, 0.8)
76-
vertices = make_mixed_vertices(pqnode(), generator(), N)
71+
g = watts_strogatz(N, 3, 0.8; rng=StableRNG(1))
72+
rng = StableRNG(1)
73+
vtypes = [pqnode(), generator()]
74+
vertices = vtypes[shuffle(rng, vcat([1 for _ in 1:N÷2], [2 for _ in 1:N÷2]))]
7775
Network(g, vertices, piline())
7876
end,
77+
# [10,20],
7978
[100, 1_000, 10_000, 100_000],
8079
"Power grid network with PQ nodes and generators"
8180
)

benchmark/benchmark_compat.jl

Lines changed: 1 addition & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -10,10 +10,5 @@ end
1010

1111
function randp(nd::Network)
1212
rng = StableRNG(1)
13-
_p = rand(rng, pdim(nd))
14-
p = NWParameter(nd; ptype=typeof(_p))
15-
for (i, sym) in enumerate(_psyms_old_order(nd))
16-
p[sym] = _p[i]
17-
end
18-
p[:]
13+
rand(rng, pdim(nd))
1914
end

0 commit comments

Comments
 (0)