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

ModeThroughputData RateScaling
Single Thread, Framing213.7 M msg/s6.6 GB/s-
Single Thread, Full Decode93.9 M msg/s2.89 GB/s-
8 vCPUs, Framing1,419 M msg/s43.6 GB/s6.64x
8 vCPUs, Full Decode499.7 M msg/s15.4 GB/s5.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