Skip to content
hopper
Get started
Operations / benchmarks

Benchmark policy

How Hopper reports same-provenance performance data without overclaiming.

This reference covers Hopper 0.5.0, published on crates.io. See the release status for package verification, dated benchmarks, and remaining audit work.

Measure the complete program you intend to deploy: compute units, executable size, account space, successful balance changes, refusals, and rollback. Numbers below are dated fixtures, not guarantees for other applications.

Hello world and PDA counter: September 30, 2026

Hopper fixtures at commit f6333ae, measured in Mollusk and on devnet on the 0.5 release work. These results use different account layouts and PDA validation paths; they are not a universal framework overhead estimate.

Program Hopper raw Hopper framework
Hello world 111 CU, 1,456 B 127 CU, 1,824 B
PDA counter, create 1,514 CU 1,471 CU
PDA counter, update 1,722 CU 325 CU
PDA counter, program size 6,608 B 8,744 B

The raw counter uses a 10-byte account and full PDA derivation. The framework counter uses a 25-byte account including its header and checks a stored bump after validating the account. The devnet evidence records eight transactions and exact account checks.

Funded token escrow: September 30, 2026

The escrow example at commit 847a0b0, deployed fresh to devnet and driven by the same runner as the September 28 round: 33 finalized transactions, every touched account compared with its exact expected state, every refusal the same as before.

Operation Compute units September 28
Create and fund an offer (two offers) 6,868 / 6,213 7,455 / 7,127
Take, refund the surplus, and close the accounts 7,836 8,707
Cancel, refund the vault, and close the accounts 3,586 4,122

The drop comes from the account walk and the builder CPI tier the System and token builders use now (evidence).

Funded token escrow: September 26, 2026

The classic SPL Token escrow finalized 33 devnet transactions: setup, funding, settlement, cancellation, surplus donations, and ten expected refusals. Every transaction matched its complete expected account state. The deployed ELF matched the locally tested artifact before and after execution.

Operation Compute units
Create and fund first offer 7,222
Create and fund second offer 7,222
Take offer, refund surplus, and close accounts 8,403
Cancel, refund vault, and close accounts 4,118

The v0 executable is 41,704 bytes. These fixture measurements include actual classic-token CPIs and the example's account/mint restrictions. They do not cover every token extension or every market design.

Signatures, snapshots, hashes, and compiled tests provide the evidence behind the numbers.

SOL governance and treasury: September 26, 2026

The shared governance/treasury/native run finalized 44 transactions, including 17 expected refusals. Multisig deposit measured 1,537 CU, direct withdrawal 1,301 CU, approved payout execution 679 CU, and treasury withdrawal 551 CU. Payout execution needs no member signature after approval; its recipient, amount, time window, revision, and unused state are checked on chain. These costs apply to the recorded fixture's account and approval counts.

Named SOL vault: September 25, 2026

The 0.4.0 named-initialization vault finalized 19 devnet transactions with exact account-state checks. Deposit measured 1,602 CU and withdrawal 240 CU. Read the release validation for source and artifact scope.

Reproduce and evaluate

  1. Pin program source, dependencies, compiler, SBF target, and cluster features.
  2. Build the actual ELF and execute it with realistic account state.
  3. Check resulting balances, ownership, data, account closure, and failure rollback.
  4. Record successful and rejected instruction costs separately.
  5. Hash the deployed artifact and retain finalized transaction receipts.

Optional features and validation choices change cost. Lower compute alone does not establish correct authorization, token handling, or a safe lifecycle. Instruction fees, priority fees, and account rent are distinct costs.