TL;DR
Benchmark both ingestion and query paths for the txhash store across both backends — RecSplit-backed (cold: #696 writer + cold reader) and RocksDB-backed (hot store, read + write) — to confirm we hit ingestion-throughput and query-latency SLAs across the full history. Symmetric to Tamir's ledger benchmarks (#726).
What to measure
Ingestion throughput
- RecSplit (cold): txhashes / sec via the four-phase pipeline (COUNT, ADD, BUILD, VERIFY) at production-shaped tx-index dataset sizes.
- RocksDB (hot): txhashes / sec via
PutTxHash calls from a simulated live-ingestion harness.
Query latency
- Cold backend (RecSplit) only: P50 / P90 / P95 / P99 for
Lookup(txhash) across the 16 CFs.
- Hot backend (RocksDB) only: P50 / P90 / P95 / P99 for
Lookup(txhash) across the 16 CFs.
- Federated reader (hot + cold): P50 / P90 / P95 / P99 with a representative production hot/cold mix.
Resource footprint
- Memory and disk footprint at representative dataset sizes (e.g., 1 yr, 5 yr, full chain).
Acceptance
Dependencies
TL;DR
Benchmark both ingestion and query paths for the txhash store across both backends — RecSplit-backed (cold: #696 writer + cold reader) and RocksDB-backed (hot store, read + write) — to confirm we hit ingestion-throughput and query-latency SLAs across the full history. Symmetric to Tamir's ledger benchmarks (#726).
What to measure
Ingestion throughput
PutTxHashcalls from a simulated live-ingestion harness.Query latency
Lookup(txhash)across the 16 CFs.Lookup(txhash)across the 16 CFs.Resource footprint
Acceptance
Dependencies