Skip to content

perf: compact sequenced transaction payloads - #136

Merged
polinikita merged 2 commits into
mainfrom
agent/compact-sequenced-payloads
Aug 11, 2026
Merged

polinikita merged 2 commits into
mainfrom
agent/compact-sequenced-payloads

Conversation

@polinikita

Copy link
Copy Markdown
Member

Summary

  • replace sequenced in-memory blocks with header-only entries while preserving the 100-round DAG window
  • load durable payloads from RocksDB for historical transmission
  • invalidate affected round caches and record compacted blocks

Why

At 200k tx/s with n=100, Bluestreak and Sailfish++ retained about 4.3 GB of serialized block data and reached about 15.6 GB RSS, causing OOM on c5d.2xlarge. Pending queues were empty; full payload retention across all 100 cached rounds was the dominant source.

Validation

  • cargo test -p starfish-core (197 passed)
  • cargo clippy -p starfish-core --all-targets -- -D warnings

@polinikita polinikita changed the title Compact sequenced transaction payloads perf: compact sequenced transaction payloads Aug 11, 2026
@polinikita
polinikita marked this pull request as ready for review August 11, 2026 21:35
@polinikita
polinikita merged commit 2ddee65 into main Aug 11, 2026
10 checks passed
@github-actions

Copy link
Copy Markdown

Code Coverage

Package Line Rate Health
crates/orchestrator/src/protocol 14%
crates/starfish/src 3%
crates/starfish-core/src/core_thread 23%
crates/starfish-core/src/consensus 67%
crates/starfish-core/src 43%
crates/orchestrator/src 17%
crates/orchestrator/src/client 7%
crates/starfish-core/src/runtime 23%
Summary 35% (5089 / 14732)

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.

1 participant