Generated: 2026-02-20
| Property | Value |
|---|---|
| Model | MacBook Pro (Mac16,6) |
| Chip | Apple M4 Max |
| CPU Cores | 16 (12 performance + 4 efficiency) |
| Memory | 128 GB |
| Architecture | ARM64 (aarch64-apple-darwin) |
| OS | Darwin 24.6.0 |
| Firmware | 11881.140.96 |
| Property | Value |
|---|---|
| Commit Hash | f277721d3ae89b121d30c535c592e124425fa2ca |
| Commit Message | Adjust output_note add_asset input order |
| Author | François Garillot (francois@garillot.net) |
| Date | Sun Feb 15 06:08:09 2026 -0500 |
| Branch | huitseeker/huitseeker/update-miden-deps-p3 |
| Property | Value |
|---|---|
| Rust Version | rustc 1.93.1 (stable) |
| Cargo Version | cargo 1.93.0 |
| Features | concurrent |
| Build Profile | release (for benchmarks) |
These benchmarks measure wall-clock time using Criterion.
| Transaction Type | Mean Time | Range | Change from next |
|---|---|---|---|
| Consume single P2ID note | 2.58 ms | [2.57 ms - 2.60 ms] | -58.7% (improved) |
| Consume two P2ID notes | 2.96 ms | [2.95 ms - 2.97 ms] | -62.4% (improved) |
| Transaction Type | Mean Time | Range | Notes |
|---|---|---|---|
| Execute and prove single P2ID note | 593 ms | [583 ms - 607 ms] | Proof size: ~218KB |
| Execute and prove two P2ID notes | 1.16 s | [1.15 s - 1.17 s] | Proof size: ~218KB |
Note: Proving is now confirmed to be running. Each proof is approximately 218KB in size and uses Blake3_256 hash function.
Status: Unable to complete
The cycle counting benchmarks (via cargo run --bin bench-transaction) failed due to stricter asset validation in the updated miden-vm dependencies. The error:
asset data extracted from the stack by event handler `on_account_vault_before_add_or_remove_asset` is not well formed
faucet account ID in asset has a non-faucet prefix: 0x...
This indicates that FungibleAsset::mock() creates assets with invalid faucet IDs that no longer pass validation in the newer VM version.
This branch shows significant performance improvements in transaction execution:
- ~59% faster for single P2ID note consumption (6.25ms → 2.58ms)
- ~62% faster for double P2ID note consumption (7.88ms → 2.96ms)
- Single P2ID proving: ~593ms (vs ~460ms on
next) - Two P2ID proving: ~1.16s (vs ~467ms on
next)
The proving time has increased compared to next. This may be due to:
- Different proof options or hash functions in the new VM version
- Changes in the STARK prover implementation
- Additional validation or trace generation steps
- Asset Validation: The stricter asset validation in the new VM breaks
FungibleAsset::mock()usage. Tests in themiden-testingcrate also fail with similar errors.
| Metric | next Branch |
This Branch | Delta |
|---|---|---|---|
| Execute single P2ID | 6.25 ms | 2.58 ms | -58.7% |
| Execute two P2ID | 7.88 ms | 2.96 ms | -62.4% |
| Execute+Prove single P2ID | 460.35 ms | 593 ms | +28.8% |
| Execute+Prove two P2ID | 467.18 ms | 1.16 s | +148% |
| miden-vm version | 0.20.3 | 0.22.0 | Updated |
- The timing benchmarks were run with
cargo bench --bin bench-transaction --bench time_counting_benchmarks --features concurrent - Fixed the proving benchmark by switching from
prove()toprove_async()to avoid Tokio runtime nesting issues - Also fixed a bug where the proving async function wasn't being awaited properly in the benchmark
- The cycle counting benchmarks could not be completed due to asset validation failures
- This branch updates miden-vm dependencies to a newer version with significant execution performance improvements but slower proving times