1
0
Fork 0
mirror of https://gitlab.rlp.net/mobitar/ReCo.jl.git synced 2024-09-19 19:01:17 +00:00
ReCo.jl/src/benchmark.jl

45 lines
1.1 KiB
Julia
Raw Normal View History

2021-12-07 00:36:47 +00:00
using Statistics: mean
using Dates: now
using BenchmarkTools: @benchmark
using JSON3: JSON3
2021-11-26 02:35:39 +00:00
2021-12-07 00:36:47 +00:00
using ReCo
2021-11-26 02:35:39 +00:00
2021-12-07 00:36:47 +00:00
function run_benchmarks(
dir::String="";
2021-12-10 02:16:18 +00:00
n_particles::Int64=1000,
2021-12-07 00:36:47 +00:00
v::Float64=20.0,
duration::Float64=2.0,
n_bundle_snapshots::Int64=0,
comment="",
)
if length(dir) == 0
2021-12-10 02:16:18 +00:00
dir = init_sim(; n_particles=n_particles, v=v, parent_dir="benchmark")
2021-12-07 00:36:47 +00:00
end
benchmark = @benchmark run_sim(
$dir; duration=$duration, n_bundle_snapshots=$n_bundle_snapshots
)
2021-11-26 02:35:39 +00:00
2021-12-07 00:36:47 +00:00
display(benchmark)
2021-11-26 02:35:39 +00:00
2021-12-07 00:36:47 +00:00
open("exports/benchmark.txt", "a+") do f
JSON3.pretty(
f,
Dict(
2021-12-10 02:16:18 +00:00
"n_particles" => n_particles,
2021-12-07 00:36:47 +00:00
"v" => v,
"duration" => duration,
"n_bundle_snapshots" => n_bundle_snapshots,
"comment" => comment,
"datetime" => now(),
"mean_time/ns" => mean(benchmark.times),
"allocs" => benchmark.allocs,
"memory" => benchmark.memory,
),
)
write(f, "\n")
2021-11-26 02:35:39 +00:00
end
2021-12-07 00:36:47 +00:00
return dir
2021-11-26 02:35:39 +00:00
end