comparison benchmark/benchmark_utils.jl @ 1554:05e0bcf7d7ca refactor/equidistant_grid/signature

Merge default
author Jonatan Werpers <jonatan@werpers.com>
date Sat, 13 Apr 2024 23:46:06 +0200
parents 5193e6cd6c6a
children 237b980ffb91 471a948cd2b2
comparison
equal deleted inserted replaced
1529:43aaf710463e 1554:05e0bcf7d7ca
21 * If both `target` and `baseline` is set those revision are compared. 21 * If both `target` and `baseline` is set those revision are compared.
22 22
23 For control over what happens to the benchmark result datastructure see the 23 For control over what happens to the benchmark result datastructure see the
24 different methods of [`run_benchmark`](@ref) 24 different methods of [`run_benchmark`](@ref)
25 """ 25 """
26 function main(;rev=nothing, target=nothing, baseline=nothing , kwargs...) 26 function main(;rev=nothing, target=nothing, baseline=nothing, name=nothing, kwargs...)
27 if !isnothing(rev) 27 if !isnothing(rev)
28 r = run_benchmark(rev; kwargs...) 28 r = run_benchmark(rev; kwargs...)
29 elseif !isnothing(baseline) 29 elseif !isnothing(baseline)
30 if isnothing(target) 30 if isnothing(target)
31 r = compare_benchmarks(baseline; kwargs...) 31 r = compare_benchmarks(baseline; kwargs...)
35 else 35 else
36 # Neither rev, or baseline were set => Run on current working directory. 36 # Neither rev, or baseline were set => Run on current working directory.
37 r = run_benchmark(;kwargs...) 37 r = run_benchmark(;kwargs...)
38 end 38 end
39 39
40 file_path = write_result_html(r) 40 file_path = write_result_html(r; name)
41 open_in_default_browser(file_path) 41 open_in_default_browser(file_path)
42 end 42 end
43 43
44 44
45 """ 45 """
135 135
136 dt = Dates.format(PkgBenchmark.date(r), "yyyy-mm-dd HH:MM:SS") 136 dt = Dates.format(PkgBenchmark.date(r), "yyyy-mm-dd HH:MM:SS")
137 Mustache.render(io, template, Dict("title"=>dt, "content"=>content)) 137 Mustache.render(io, template, Dict("title"=>dt, "content"=>content))
138 end 138 end
139 139
140 function write_result_html(r) 140 function write_result_html(r; name=nothing)
141 dt = Dates.format(PkgBenchmark.date(r), "yyyy-mm-dd HHMMSS") 141 dt = Dates.format(PkgBenchmark.date(r), "yyyy-mm-dd HHMMSS")
142 file_path = joinpath(results_dir, dt*".html") 142
143 if isnothing(name)
144 file_path = joinpath(results_dir, dt*".html")
145 else
146 file_path = joinpath(results_dir, dt*" "*name*".html")
147 end
143 148
144 open(file_path, "w") do io 149 open(file_path, "w") do io
145 write_result_html(io, r) 150 write_result_html(io, r)
146 end 151 end
147 152