Skip to content

Bench coverage expansion (withdraw_many, bulk_register, extend_name_ttl, splitter, vault, governance) #162

Description

@truthixify

Tier: M (2-4 days) | Type: perf

Context. stellar/bench/src/lib.rs::collect_rows covers announce (5 metadata sizes), registry register_keys, sender send / batch_send, and names register / resolve / name_of. Every Wave 7 feature added after that (withdraw_many, bulk_register, bulk_renew, extend_name_ttl) plus every secondary contract (splitter, vault, asset-policy, governance) is unbenched. That means the +5% gas regression gate wired in Wave 7 #13 cannot catch regressions in those code paths.

Scope.

  • Add benches for: stealth-sender::withdraw_many (1 / 10 / 30 entries), wraith-names::bulk_register (5 / 10 / 20), wraith-names::bulk_renew (5 / 10 / 20), wraith-names::extend_name_ttl, stealth-splitter::create_split and fund_split (5 / 15 / 25 beneficiaries), stealth-vault::deposit / claim / refund, governance::propose / vote / execute.
  • Extend stellar/bench/src/lib.rs::to_json and markdown_table to handle the new rows without breaking the existing baseline shape.
  • Bump stellar/bench/baseline.json in the same PR so stellar-bench-pr does not flag the new rows as regressions.
  • Update stellar/PERF.md auto-updated block with the new rows.

Acceptance.

  • cargo bench -p wraith-bench --bench gas -- --format json returns rows for every new entrypoint
  • stellar-bench-pr CI job passes on the same PR (baseline rotated in the same PR)
  • stellar/PERF.md auto-updated block shows the new rows after the next stellar-bench-develop push
  • No behavior changes to any contract in the diff

Files. stellar/bench/src/lib.rs, stellar/bench/benches/gas.rs, stellar/bench/baseline.json, stellar/PERF.md.

Metadata

Metadata

Assignees

No one assigned

    Labels

    Stellar WaveIssues in the Stellar wave programbenchdripsFunded via Drips Networkhelp wantedExtra attention is neededperfPerformance / optimizationstellarTouches Stellar / Soroban codestellar-waveAuto-created for Wave 8wave-8Auto-created for Wave 8

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions