Files
swaits 915b7ce101 chore(bench): migrate dispatch harness from iai-callgrind to gungraun
iai-callgrind is unmaintained; gungraun is the active fork. API is
drop-in (use iai_callgrind → use gungraun, same library_benchmark /
library_benchmark_group / main! macros), so the dispatch.rs body only
needed the import rename.

Also:
- mise.toml: add cargo:gungraun-runner dep so the valgrind harness
  binary tracks the lib version automatically.
- baseline.txt: rebaselined under gungraun_initial. Absolute numbers
  shifted up because gungraun's bench wrapper instruments more than
  iai-callgrind 0.16's did; comparable benches (terminate_event 69→68,
  h8_cross_tree 93→97) confirm HSM dispatch work itself is unchanged.
  Old iai-callgrind named baselines kept as historical context only.
2026-05-04 15:29:23 -06:00

30 lines
1.6 KiB
TOML

# Project-local mise configuration for hsmc.
#
# Lists the dev/test/lint tooling the workspace needs. The verification
# subcrate has its OWN mise.toml (verification/mise.toml) that pins the
# specific nightly Rust + opam + Python venv that Creusot requires —
# `just verify` cd's there so those settings activate.
#
# When you `cd` into the repo, the global `enter = "mise i -q"` hook
# auto-installs everything missing.
[tools]
# ── Rust toolchain (stable) ─────────────────────────────────────────
# Components and targets needed by the main crate's dev/test/lint flow.
# Verification needs a different (pinned) nightly — see verification/mise.toml.
rust = { version = "stable", components = "clippy,rustfmt,rust-src,llvm-tools-preview", targets = "thumbv7em-none-eabihf,thumbv6m-none-eabi,thumbv8m.main-none-eabihf,riscv32imac-unknown-none-elf" }
# ── Cargo subcommands the justfile drives ───────────────────────────
"cargo:cargo-nextest" = "latest" # `just test`, `just dev`
"cargo:cargo-llvm-cov" = "latest" # `just coverage`
"cargo:cargo-mutants" = "latest" # `just mutants`
"cargo:cargo-audit" = "latest" # `just audit`
"cargo:gungraun-runner" = "latest" # `cargo bench --bench dispatch` (valgrind harness)
# ── Build orchestration ─────────────────────────────────────────────
just = "latest"
[settings]
trusted_config_paths = ["{{ config_root }}"]