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.
30 lines
1.6 KiB
TOML
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 }}"]
|