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.
Files. stellar/bench/src/lib.rs, stellar/bench/benches/gas.rs, stellar/bench/baseline.json, stellar/PERF.md.
Tier: M (2-4 days) | Type: perf
Context.
stellar/bench/src/lib.rs::collect_rowscovers 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.
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_splitandfund_split(5 / 15 / 25 beneficiaries),stealth-vault::deposit/claim/refund,governance::propose/vote/execute.stellar/bench/src/lib.rs::to_jsonandmarkdown_tableto handle the new rows without breaking the existing baseline shape.stellar/bench/baseline.jsonin the same PR sostellar-bench-prdoes not flag the new rows as regressions.stellar/PERF.mdauto-updated block with the new rows.Acceptance.
cargo bench -p wraith-bench --bench gas -- --format jsonreturns rows for every new entrypointstellar-bench-prCI job passes on the same PR (baseline rotated in the same PR)stellar/PERF.mdauto-updated block shows the new rows after the nextstellar-bench-developpushFiles.
stellar/bench/src/lib.rs,stellar/bench/benches/gas.rs,stellar/bench/baseline.json,stellar/PERF.md.