-
Notifications
You must be signed in to change notification settings - Fork 2
Performance Baselines
Measured performance numbers from preview testnet validation. These serve as regression baselines for ongoing development.
- Network: Cardano Preview Testnet (network-magic=2)
- Backend: torsten-lsm (custom LSM-tree with WAL)
-
Build:
cargo build --release(panic=abort, LTO)
| Metric | Value |
|---|---|
| Replay throughput | 13,728 blk/s |
| Total blocks replayed | ~4M |
| Elapsed time | ~290s |
Block replay measures the rate of applying blocks to the ledger from the ImmutableDB (no network I/O). This exercises the full validation pipeline: CBOR deserialization, UTxO lookups, Phase-1/Phase-2 validation, and ledger state updates.
| Metric | Value |
|---|---|
| Import time | ~9 min |
| Blocks imported | ~4M |
| Import method | tar.zst download + extraction + digest verification |
Mithril import downloads a certified snapshot from the Mithril aggregator, verifies SHA256 digests, and stores blocks directly as ImmutableDB chunk files. This bypasses the full sync from genesis.
| Metric | Value |
|---|---|
| RSS at tip | ~5.8 GB |
| Primary consumers | UTxO in-memory cache, ledger state snapshots (mark/set/go), volatile block cache |
Memory is measured after the node has synced to tip and is operating in steady state (receiving new blocks, serving peers).
| Metric | Value |
|---|---|
| On-disk size | ~1.8 GB |
| Backend | torsten-lsm SSTables + WAL |
| Bloom filter | Tuned for ~15M UTxO entries |
| Cache | 256 MB block cache, 128 MB write buffer |
| Metric | Value |
|---|---|
| ChainSync pipeline depth | 150 (default) |
| Concurrent block fetchers | 4 |
| Full preview sync (genesis) | ~10 hours |
| Full preview sync (Mithril + catch-up) | ~15 min |
The node exposes Prometheus metrics on port 12798. Key performance-related metrics:
-
blocks_applied— total blocks applied to ledger -
sync_progress_percent— percentage of chain synced -
utxo_count— current UTxO set size -
mempool_tx_count/mempool_bytes— mempool utilization -
peers_connected— active peer count
- All measurements are from the preview testnet. Mainnet numbers will differ (larger UTxO set, more complex transactions, longer chain).
- Performance varies with hardware. Numbers above are from development hardware and should be treated as approximate baselines.
- The
TORSTEN_PIPELINE_DEPTHenvironment variable can be tuned to trade memory for sync speed.