Lunary NASDAQ ITCH 5.0 Benchmark Results
Median results across 10 full-dataset runs on a single historical trading session. Benchmarks were measured on memory-mapped data only.
Median Throughput and Data Rate
| Mode | Throughput | Data Rate | Scaling |
|---|---|---|---|
| Single Thread, Framing | 213.7 M msg/s | 6.6 GB/s | - |
| Single Thread, Full Decode | 93.9 M msg/s | 2.89 GB/s | - |
| 8 vCPUs, Framing | 1,419 M msg/s | 43.6 GB/s | 6.64x |
| 8 vCPUs, Full Decode | 499.7 M msg/s | 15.4 GB/s | 5.32x |
Scaling remains below 8x because the benchmark host provides four physical cores with simultaneous multithreading.
Benchmark Environment
Dataset
NASDAQ TotalView-ITCH 5.0
Session date
October 30, 2019
Messages
293,989,079
Data size
9,035,016,843 bytes
Machine
Google Cloud c3-standard-8
CPU
Intel Xeon Platinum 8481C, 2.70 GHz
Compute
4 physical cores, 8 vCPUs
Memory
32 GB DDR5
Operating system
Ubuntu 24.04
Compiler
Rust 1.98.1
Build flag
-C target-cpu=native
Processing Modes and Cost
Processing modes
Framing
Reads each message length and advances directly to the next message without decoding fields.
Full Decode
Decodes every field across all supported message types, including big-endian numeric conversion and checksum accumulation.
Processing cost
Framingabout 5.2 ns/message
Full Decodeabout 9.9 ns/message
Maximum observed latency22 µs
Correctness and Scope
Correctness
Full-dataset validation processed all 293,989,079 messages using both Lunary and an independent reference decoder.
Both implementations produced the same checksum:
0x5143fd037119a935
Validation covers all 18 message types present in the dataset.
Benchmark scope
- Single historical trading session
- Single cloud machine configuration
- No network or NIC processing
- Hardware performance counters unavailable under the VM environment
- Parallel benchmarks measure parser scalability rather than end-to-end feed-handler throughput
- Order book implementation tracks individual orders without maintaining aggregated price levels