Closed
Description
I put a placeholder in https://github.com/econtoolkit/tutorials/blob/master/julia/benchmark_regressions.md which shows a basic approach, but I think it is just a starting point.
In particular, https://github.com/econtoolkit/tutorials/blob/master/julia/benchmark_regressions.md#using-and-serializing-benchmark-groups is a placeholder to put the "real" way to do it.
- My main concern in this is keeping track of many benchmarks, as I don't think that saving a bunch of JSON files is the way to go. IT is just too errorprone to load up and compare the wrong files
- My guess is that this is
BenchmarkGroups
can be done in a very simple way (see https://github.com/JuliaCI/BenchmarkTools.jl/blob/master/doc/manual.md#the-benchmarkgroup-type ) to keep track of these things, run, and compare - See https://github.com/JuliaCI/BenchmarkTools.jl/blob/master/doc/manual.md#trialratio-and-trialjudgement but maybe there is a way to just get the trial ratio/judgement for an entire benchmark group
- Then the idea is you would define the benchmarkgroup, run it, load the whole benchmark results from the disk, and run the judgement.
- It is important that when we store the benchmarkresults of whatever form, we do not want to store the whole JSON for everything.... which is too much data. The
Trial
orTrialEstimate
of the median, or something like that, is all we really want. - We should figure out the workflow of this for github (since we obviously don't want to overwrite the file everytime we run it). Maybe having a binary toggle which says
overwritebenchmarks
, which takes the lastest run of the benchmark group and just saves overtop of the current file? - You can ask around to see if there is a canonical place to put these files. Maybe
test/runbenchmarks.jl
? You definetely do not want this to run inside of the CI, soruntests.jl
should not call it.
My hope is that we can keep this as simple as possible so that we can teach everyone to do it in their own projects.
Where to do it:
Metadata
Metadata
Assignees
Labels
No labels