Benchmarking
To investiage the performance we can use the following code snippet, which should be self-explanatory
using Thunderbolt.TimerOutputs
TimerOutputs.enable_debug_timings(Thunderbolt)
TimerOutputs.reset_timer!()
run_simulation()
TimerOutputs.print_timer()
TimerOutputs.disable_debug_timings(Thunderbolt)
It makes sense to make sure the code is properly precompiled before benchmarkins, e.g. by calling run_simulation()
once before running the code snippet.
Internally we use TimerOutputs.jl for code annotations, marking performance critical sections.
More guides coming soon...