Benchmarks

From the network card to decrypted market data in shared memory.

vCryptoNet is a C++/DPDK crypto market data engine with a custom, purpose-built TCP/TLS/WebSocket stack. It scales to 5,000 concurrent feeds per CPU.

2.6µs

Median latency from the NIC hardware RX timestamp to decrypted market data in shared memory.

The problem

Standard networking was not built for this.

10s of µs

Kernel networking adds tens of microseconds to every packet.

KB / conn

Memory footprint limits how many feeds one machine can hold.

Queues

Large numbers of redundant feeds add network queuing latency.

> 200 µs

Exchange TLS/WebSocket endpoints vary in load and latency over time by more than 200 µs.

Introducing vCryptoNet

Everything rebuilt directly on DPDK.

Instead of Linux networking plus existing TLS and WebSocket libraries, vCryptoNet implements every layer itself. The output is simply decrypted, arbitrated market data written into shared memory.

TLSTCPWebSocketSmart arbitration engineConnection scoringAuto-recycling
Test setup

One machine. One feed. Run at the same time.

Unless stated otherwise, each implementation runs 20x connection arbitration against Binance btcusdt@trade.

The first time an implementation sees a trade ID across its connections, it records the trade ID and the receive timestamp as soon as the decrypted market data is available.

All implementations run simultaneously, each on its own dedicated CPUs. Their best timestamp for each trade ID is compared to produce the tables.

InstanceAWS c7i.metal-24xl
CPUIntel Xeon Platinum 8488C, 3.2 GHz
Memory192 GB
Zoneapne1-az4 (Tokyo)
OSUbuntu 22.04
FeedBinance btcusdt@trade, 20 connections, about 25 packets/s each
Internal latency

NIC hardware timestamp to decrypted market data.

Latency by implementation

Log scale, µs. Lower is better.

Distribution of internal latencies

vCryptoNet is drawn as a line because its peak at 2.6 µs is too sharp for this scale. Other implementations show latency profiles like LibWebSockets and WebSocket++, except FastWS, which has much larger tails.

Exchange to decrypted market data

From Binance's own timestamp to your shared memory.

Exchanges send market data serially over TCP/TLS, so parallel connections show large latency jitter. More connections statistically improve the latency at which prices are processed, up to a point: beyond it, queuing delays outweigh the gains from arbitration. Binance's @trade events carry an "E" field, set by the exchange when the event is created and pushed out for distribution.

Share of trades received within each latency bracket

Brackets in µs, Binance "E" timestamp to decrypted market data.

Distribution of exchange-to-engine latencies

Binance "E" timestamp to decrypted market data, µs. vCryptoNet's mass sits earlier and its tail ends near 1,500 µs, where the libraries run past 2,000 µs.

Library versions tested

What we compared against.

Bracket shares and distribution curves on this page were traced from the original benchmark plots. Tables show the published figures.

See the numbers on your own infrastructure.

A free 30-minute setup call with the engineer who built vCryptoNet.