Skip to content

Commit 7871668

Browse files
committed
Add one more benchmark
multirate with classic status tracking (Dict) vs multirate with online export requests (Vector{OutputRequest})
1 parent bfdf466 commit 7871668

2 files changed

Lines changed: 26 additions & 4 deletions

File tree

benchmark/benchmarks.jl

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -32,7 +32,8 @@ include("test-PSE-benchmark.jl")
3232
SUITE[suite_name]["PSE"] = @benchmarkable do_benchmark_on_heavier_mtg()
3333
include("test-multirate-buffer-benchmark.jl")
3434
mtg_mr, mapping_mr, meteo_mr, reqs_mr, tracked_mr, nsteps_mr = setup_multirate_buffer_benchmark()
35-
SUITE[suite_name]["PSE_multirate_buffered_run"] = @benchmarkable benchmark_multirate_buffered_run($mtg_mr, $mapping_mr, $meteo_mr, $reqs_mr, $tracked_mr, $nsteps_mr)
35+
SUITE[suite_name]["PSE_multirate_status_tracked_run"] = @benchmarkable benchmark_multirate_status_tracked_run($mtg_mr, $mapping_mr, $meteo_mr, $tracked_mr, $nsteps_mr)
36+
SUITE[suite_name]["PSE_multirate_output_request_run"] = @benchmarkable benchmark_multirate_output_request_run($mtg_mr, $mapping_mr, $meteo_mr, $reqs_mr, $tracked_mr, $nsteps_mr)
3637

3738
# "PBP benchmark"
3839
include("test-plantbiophysics.jl")

benchmark/test-multirate-buffer-benchmark.jl

Lines changed: 24 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -73,7 +73,28 @@ function setup_multirate_buffer_benchmark(; nleaves=2000, ndays=30)
7373
return mtg, mapping, meteo, reqs, tracked, nsteps
7474
end
7575

76-
function benchmark_multirate_buffered_run(mtg, mapping, meteo, reqs, tracked, nsteps)
77-
sim = PlantSimEngine.GraphSimulation(mtg, mapping, nsteps=nsteps, check=true, outputs=tracked)
78-
run!(sim, meteo, multirate=true, executor=SequentialEx(), tracked_outputs=reqs)
76+
function benchmark_multirate_status_tracked_run(mtg, mapping, meteo, tracked, nsteps)
77+
run!(
78+
mtg,
79+
mapping,
80+
meteo,
81+
nsteps=nsteps,
82+
check=true,
83+
multirate=true,
84+
executor=SequentialEx(),
85+
tracked_outputs=tracked
86+
)
87+
end
88+
89+
function benchmark_multirate_output_request_run(mtg, mapping, meteo, reqs, tracked, nsteps)
90+
run!(
91+
mtg,
92+
mapping,
93+
meteo,
94+
nsteps=nsteps,
95+
check=true,
96+
multirate=true,
97+
executor=SequentialEx(),
98+
tracked_outputs=reqs
99+
)
79100
end

0 commit comments

Comments
 (0)