Benchmark policy
How Hopper reports same-provenance performance data without overclaiming.
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
- Pin program source, dependencies, compiler, SBF target, and cluster features.
- Build the actual ELF and execute it with realistic account state.
- Check resulting balances, ownership, data, account closure, and failure rollback.
- Record successful and rejected instruction costs separately.
- 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.
