Benchmarks are configured for AirspeedVelocity.jl in CI.
Run the benchmark suite locally:
julia --project=benchmark benchmark/benchmarks.jlWorkloads currently covered:
- tiered datasets:
small(~10k nodes),medium(~100k),large(~300k) - full-tree traversal and traversal updates
- one/multi-attribute updates using node indexing (
node[:k]) - one/multi-attribute updates using explicit API (
attribute/attribute!) - one symbol (
:Leaf) and mixed symbols ([:Leaf, :Internode])
- one/multi-attribute updates using node indexing (
- descendants queries
- one/many attributes, one symbol
- one/many attributes, mixed symbols
ignore_nothing=true/false- in-place and allocating variants
- repeated many-small queries
children,parent,ancestors,ancestors!- repeated descendants retrieval with and without in-place buffers
- API surface (small tier)
- insertion/deletion/pruning
transform!,select!symbol_table/mtg_tablewrite_mtg