Skip to content

feat(bench): benchmark native MPP opens and settlements - #7546

Open
decofe wants to merge 2 commits into
mainfrom
centaur/native-mpp-preset-1788872849
Open

decofe wants to merge 2 commits into
mainfrom
centaur/native-mpp-preset-1788872849

Conversation

@decofe

@decofe decofe commented Sep 8, 2026

Copy link
Copy Markdown
Member

Replace the deployed-contract approve/open/close workload in mpp.yml with a native TIP-20 Channel Reserve open -> signed settlement sequence.

  • Bind a payer and payee per channel, save the signed open, and use its actual descriptor and transaction context for the settlement voucher.
  • Pay the full deposit to the payee in the second transaction. No deployment or token approval is needed; the settled channel state remains present.
  • Preserve inclusion ordering between the two steps. The preset is 50% opens and 50% settlements by transaction count; mix.yml is unchanged.

Dependency

Requires txgen #200, which adds sequence-step save and native mpp_settle support. Merge and publish that change before using this preset with the default txgen image. For a pre-merge bench run, use txgen-ref=57a891b99bc8a07b44bc0a67b2d98000c256e00c.

Validation

Resolved the preset through the benchmark helper, then generated and executed 100 transactions across three accounts on a fresh local Tempo v1.14.0 dev node:

  • 50 distinct native channel opens and 50 successful settlements; zero reverted receipts.
  • Every open included in an earlier block than its settlement.
  • Every channel ended with settled = deposit = 1 and no close request.
  • Verified the settlement events and token transfers to each payee, zero reserve allowances, and zero final reserve token balance.

This is a local correctness smoke test, not a throughput comparison.

Prompted by: @shekhirin

Co-authored-by: Derek Cofausper <256792747+decofe@users.noreply.github.com>
Co-authored-by: Derek Cofausper <256792747+decofe@users.noreply.github.com>
@decofe decofe changed the title feat(bench): use native channel reserve in MPP preset feat(bench): benchmark native MPP opens and settlements Sep 8, 2026
@tempo-github-sts

tempo-github-sts Bot commented Sep 8, 2026

Copy link
Copy Markdown

cc @decofe

⚪ Benchmark complete: No Difference View job

⚪ Bench Comparison: No Difference

Refs: 07761a7 vs 96360a4
Criteria: 95% run-bootstrap CI must clear floor; cells show delta (+/-CI/floor).

Configuration

  • Derek command: derek bench mode=e2e preset=mpp duration=30 bloat=1 token-count=4 tps=1000 accounts=100 max-concurrent-requests=100 baseline=07761a78a4ac00988533aa8acbcb6667786b625d feature=96360a4b13c62eec65f75a0978cf9b6f0ca72072 baseline-hardfork="" feature-hardfork="" gas-limit=1000000000000 run-pairs=1 run-side=comparison otlp=false metrics=false no-cache=false force-bloat=false general-gas-limit=1000000000000 txgen-ref=57a891b99bc8a07b44bc0a67b2d98000c256e00c
  • Bloat: 1000 MiB
  • Token count: 4
  • Preset: mpp
  • Target TPS: 1000
  • Duration: 30s
  • Run pairs: 1
  • Baseline blocks: 60
  • Feature blocks: 59

Tempo Metrics

Metric Baseline Feature Delta
TPS Mean 782 788 +0.77% ⚪
Gas Throughput [Mgas/s] 149.3 150.5 +0.80% ⚪
Block Time Mean [ms] 501.6 502.8 +0.24% ⚪
Block Time P50 [ms] 502.0 502.0 +0.00% ⚪
Block Time P90 [ms] 506.0 508.0 +0.40% ⚪
Block Time P99 [ms] 508.0 511.0 +0.59% ⚪

Builder

Metric Baseline Feature Delta
Gas Throughput [Mgas/s] 159.4 160.1 +0.41% ⚪
P50 [ms] 480.1 481.9 +0.37% ⚪
P90 [ms] 481.8 483.0 +0.25% ⚪
P99 [ms] 483.9 483.4 -0.10% ⚪
Builder details
Metric Baseline Feature Delta
Finish P50 [ms] 0.3 0.3 +0.00%
Finish P90 [ms] 0.4 0.4 +0.00%
Finish P99 [ms] 2.6 0.8 -69.23%
Pool Fetch P50 [ms] 0.0 0.0 0.00%
Pool Fetch P90 [ms] 0.1 0.1 +0.00%
Pool Fetch P99 [ms] 0.3 0.9 +200.00%
Stop Reason — Build Budget 57 56 -1.75%
Serialized Block Size P50 [KiB] 160.9 228.5 +41.97%
Serialized Block Size P90 [KiB] 242.0 232.0 -4.12%
Serialized Block Size P99 [KiB] 246.0 233.2 -5.19%
Serialized Block Size / Tx P50 [B/tx] 497.2 496.7 -0.10%
Serialized Block Size / Tx P90 [B/tx] 498.3 497.9 -0.08%
Serialized Block Size / Tx P99 [B/tx] 586.4 529.4 -9.72%
Fill Idle P50 [ms] 440.0 442.0 +0.45%
Fill Idle P90 [ms] 446.0 446.0 +0.00%
Fill Idle P99 [ms] 447.0 448.0 +0.22%

Validator

Metric Baseline Feature Delta
Gas Throughput [Mgas/s] 5613.3 5677.0 +1.13% ⚪
P50 [ms] 13.4 12.1 -9.70% ⚪
P90 [ms] 17.0 16.4 -3.53% ⚪
P99 [ms] 17.7 18.8 +6.21% ⚪

Observability

decofe added a commit that referenced this pull request Sep 8, 2026
Use the existing preset from Tempo #7546 so public-mix resolves on this branch.

Co-authored-by: Derek Cofausper <256792747+decofe@users.noreply.github.com>
@github-actions

Copy link
Copy Markdown
Contributor

This PR has been marked stale due to 7 days of inactivity.

@github-actions github-actions Bot added the stale label Sep 16, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants