Latency
Inspect loading and first-use costs separately from the timing campaign.
From examples/kitchen-sink in the source checkout, run julia setup.jl core. Then start Julia with julia --project=. for the code below.
julia
using PerfChecker
catalog = load_scenario_catalog("scenarios.toml")
heap = select_scenarios(catalog,
[Dict("id"=>"events-heap", "implementation"=>"datastructures")])
result = diagnose(heap; project=dirname(Base.active_project()), threads=1,
tools=[:latency], reports="results/heap-latency")
display(only(result["records"]))The saved diagnostic JSON, recorded on Julia 1.13.0, contains: Load 0.6490315 s; first lifecycle 0.1709083 s; warm lifecycle 0.0002009 s. Execution completed and the oracle passed.
Loading, first execution and warm execution have different boundaries; keep them separate.
Open the same interactive export
Download the serialized plot