Summary
Benchmarks exist for 6 crates (crypto, ledger, mempool, primitives, serialization, storage) but are missing for network throughput, consensus chain selection at depth, LSM compaction, and the node block-apply pipeline.
Current Benchmarks
dugite-crypto/benches/crypto_bench.rs — Ed25519, VRF, KES operations
dugite-ledger/benches/utxo_bench.rs — UTxO lookups, inserts, batch operations
dugite-mempool/benches/mempool_bench.rs — tx admission, removal, conflict detection
dugite-primitives/benches/hash_bench.rs — hashing operations
dugite-serialization/benches/serialization_bench.rs — CBOR encode/decode
dugite-storage/benches/storage_bench.rs — ChainDB read/write
Proposed New Benchmarks
dugite-network
- Protocol message encode/decode throughput
- Multiplexer segment framing overhead
- Pipelined ChainSync message throughput (messages/sec at various pipeline depths)
- Handshake negotiation latency
dugite-consensus
- Chain selection with varying fork depths (10, 100, 1000 blocks)
- VRF leader check throughput (checks/sec)
- Epoch transition processing time
- Header validation throughput
dugite-lsm
- Write throughput (inserts/sec) at various memtable sizes
- Read throughput with varying SSTable counts (read amplification)
- Compaction throughput and write amplification
- Bloom filter false positive rate under load
- Snapshot creation/restoration time
dugite-node (pipeline)
- End-to-end block apply throughput (decode → validate → apply → store)
- Batch block import rate (Mithril replay simulation)
- Ledger snapshot save/restore time at various UTxO set sizes
Infrastructure
All benchmarks should use Criterion for statistical rigor and integrate with the existing nightly CI benchmark workflow (.github/workflows/benchmarks.yml).
Summary
Benchmarks exist for 6 crates (crypto, ledger, mempool, primitives, serialization, storage) but are missing for network throughput, consensus chain selection at depth, LSM compaction, and the node block-apply pipeline.
Current Benchmarks
dugite-crypto/benches/crypto_bench.rs— Ed25519, VRF, KES operationsdugite-ledger/benches/utxo_bench.rs— UTxO lookups, inserts, batch operationsdugite-mempool/benches/mempool_bench.rs— tx admission, removal, conflict detectiondugite-primitives/benches/hash_bench.rs— hashing operationsdugite-serialization/benches/serialization_bench.rs— CBOR encode/decodedugite-storage/benches/storage_bench.rs— ChainDB read/writeProposed New Benchmarks
dugite-network
dugite-consensus
dugite-lsm
dugite-node (pipeline)
Infrastructure
All benchmarks should use Criterion for statistical rigor and integrate with the existing nightly CI benchmark workflow (
.github/workflows/benchmarks.yml).