Skip to content

exec3/remove-rwtx-threading-merge-main ~34% slower than bal-devnet-3 on SSTORE-bloated benchmark — for visibility #20956

Description

@mh0lt

Summary

Flagging for visibility — the exec3/remove-rwtx-threading-merge-main branch is ~34% slower than bal-devnet-3 on the SSTORE-bloated benchmark despite identical I/O profiles. Likely expected given the in-flight refactoring on that branch, but worth noting before any merge so the regression isn't lost.

Measurement

Same fixture (issue #20920 SSTORE-bloated test_sstore_bloated[10GB-fork_Osaka-NO_CACHE-existing_slots_True-write_new_value_True-30M], perf-devnet-3 block 24358306), same hardware (dev-bm-e3-ethmainnet-n4), same datadir master, no docker / no overlayfs, parallel exec engaged in both runs:

Branch mgas/s wall
bal-devnet-3 (26cd9a0) 2.00 14.92s
exec3/remove-rwtx-threading-merge-main (2a2667a) 1.49 19.93s

I/O is identical, delta is CPU-side

Per-mmap'd-file Rss deltas show the same dominant files in both runs (commitment .kvi + .kv, storage history .ef, latest storage .kv), with commitment file sizes essentially identical across branches:

File rwtx Run bal-devnet-3 Run
v2.0-commitment.7488-7492.kvi +306 MiB +299 MiB
v2.0-commitment.7492-7494.kvi +188 MiB +182 MiB
v2.0-storage.7488-7492.kv +152 MiB +152 MiB
v2.0-commitment.7494-7495.kvi +128 MiB +118 MiB
v2.0-commitment.7488-7492.kv +106 MiB +106 MiB

Per-IOP size identical at ~4 KB. chaindata MDBX trivial in both. So the I/O work the trie does is unchanged; the wall-time delta is CPU.

Run data

  • /home/erigon/perf_results/sstore-bench/run-a-baseline-165007/ (exec3/remove-rwtx-threading-merge-main)
  • /home/erigon/perf_results/sstore-bench/run-b-bal-devnet-3-172728/ (bal-devnet-3)

What this is / isn't

Likely expected given the parallel-exec refactoring in flight on exec3/remove-rwtx-threading-merge-main. Filing for visibility / future-merge attention rather than as an actionable defect. Not blocking.

Metadata

Metadata

Assignees

Type

No type

Fields

No fields configured for issues without a type.

Projects

No projects

Relationships

None yet

Development

No branches or pull requests

Issue actions