Skip to content

improve replay performance - #256

Merged
smcio merged 5 commits into
Overclock-Validator:alpenglow-devfrom
smcio:smcio/improve-replay-performance
Jul 25, 2026
Merged

improve replay performance#256
smcio merged 5 commits into
Overclock-Validator:alpenglow-devfrom
smcio:smcio/improve-replay-performance

Conversation

@smcio

@smcio smcio commented Jul 25, 2026

Copy link
Copy Markdown
Collaborator

Quite a few changes here to improve perf. These changes improve perf by quite a bit, including cutting block exec time down by about 50% in many cases.

A list of changes:

  • Cache each transaction’s message identity so it only needs to be serialised and hashed once during replay.
  • Speed up large AccountsDB reads with batched index lookups and parallel iterators.
  • Add a bounded decoded-account cache which only retains accounts that are actually being reused.
  • Make the decoded-account cache size configurable with tuning.common_account_cache_max_mb.
  • Split account overlays into shards so parallel transactions no longer contend on one global lock.
  • Publish touched transaction accounts in batches, with the same tombstone and last-write-wins behaviour as before.
  • Reduce replay setup work by pre-sizing maps, avoiding repeated account lookups and doing less duplicate bookkeeping.
  • Rework LtHash calculation to reuse buffers and spread larger workloads across workers.
  • Cache validator sets and certificate verifiers used for Alpenglow vote rewards.
  • Keep epoch stake snapshots immutable and retain the exact vote account selected by the leader schedule.
  • Add more detailed replay timings for account loading, transaction publication, rewards and bank hashing.
  • Expand the replay timing viewer so the new measurements are easier to break down.
  • Fix epoch-boundary inflation handling when the first slots of an epoch are skipped.
  • Remove the unsafe overlay bank-hash shortcut and keep the canonical modified-account journal as the source of truth.
  • Add regression, concurrency, race and benchmark coverage for the new replay paths.

@smcio
smcio merged commit 2325aa5 into Overclock-Validator:alpenglow-dev Jul 25, 2026
1 check passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants