AtrekesLibHFTDocumentationBenchmarksJava/JNI

Flavor benchmark

Java/JNI performance evidence.

Latest Java/JNI codec measurements beside same-language peers, retained transport percentiles and current session admission. Every result keeps its host, workload, rate and campaign date visible.

5 retained transports6 language codec adaptersLatest codec: 3 October 202650k/s transport reference

What this test does

An order, its acknowledgement, one client clock.

The common HP transport campaign measures scheduled NewOrderSingle → ExecutionReport response latency. The server derives the reply from the received order; scheduler delay, message construction, both endpoints and the network path are included.

Swipe the diagram horizontally, or open it at full size.

Scheduled order-response latency
HP open-loop campaign. The interval begins at the intended scheduled send slot, including delay before the actual send. It ends after reply parsing and required field work. Schematic only; arrows are not to scale. Open diagram ↗

See diagrams for all four session scenarios → · See the codec operation diagrams →

View captured FIX messages for this workflow

Captured sample FIX messages

One complete, correlated chain from the synthetic QuickFIX/C++ functional audit. These are actual captured bytes illustrating the current canonical wire shape, not messages from the older transport campaign or measured latency samples.

The acknowledgement echoes order 11=1, symbol LCOM1, buy side, quantity 1000 and price 10000.00000. ExecType 150=0 and OrdStatus 39=0 mean New: CumQty is 0, LeavesQty is 1000 and AvgPx is 0. No LastQty/LastPx fill fields are present.

1. CLIENT → SERVER · NewOrderSingle 35=D

8=FIX.4.4|9=132|35=D|34=2|49=CLIENT|52=20261003-00:42:20.433|56=SERVER|
11=1|21=1|38=1000|40=2|44=10000.00000|54=1|55=LCOM1|60=20260703-12:00:00.000|
10=201|

2. SERVER → CLIENT · ExecutionReport · New acknowledgement 35=8

8=FIX.4.4|9=182|35=8|34=2|49=SERVER|52=20261003-00:42:20.433|56=CLIENT|
6=0.00000|11=1|14=0|17=TCP-EXEC|37=TCP-ORDER|38=1000|39=0|44=10000.00000|54=1|55=LCOM1|60=20260703-12:00:00.000|150=0|151=1000|
10=060|

| represents SOH (ASCII 0x01). Remove display line breaks and restore SOH to recover the exact message, including valid BodyLength (9) and CheckSum (10). FIX SendingTime (52) is a wall-clock field, not the monotonic measurement clock: do not subtract these timestamps to estimate latency. Tag 60 retains the fixed July fixture time.

Download the original synthetic wire capture → · Download all checked examples and source hashes →

Explore all four workflows, measurement points and sample messages →

Qualified transport reference

Retained HP open-loop campaign, 20 September 2026; 50,000 requests/s. Newer full-session tests have not supplied a replacement passing distribution. Rows below are not a current four-flow competitor ranking.

Transportp50 (µs)p99 (µs)p99.9 (µs)Maximum (µs)
Kernel TCP15.66518.65624.764117.330
Solarflare Onload6.0476.4616.57234.939
Mellanox VMA6.5557.0017.11836.278
Solarflare TCPDirect5.6396.5496.66840.571
Mellanox SocketXtreme6.5747.5148.69547.039

CDF and full competition list for Java/JNI →

Retained passing rate sweep

SCAN kernel TCP, one session, 29 September 2026. Three five-second measurement windows per target. This remains diagnostic: BrokerForge housekeeping processes ran on other cores. Failed targets have no metrics in this table; these results are not mixed into the transport CDF.

Target /sAchieved /sp50 (µs)p99 (µs)p99.9 (µs)
50,000.00049,999.00028.03335.08052.299
75,000.00075,000.00026.81937.31840.839

Read the complete capacity contract and evidence →

Latest codec measurements

Qualified 25-adapter converted-values-v2 campaign, 3 October 2026. The native-backed flavors have their own measured interop rows. Historical codec tables and unsupported llfix session figures are not projected here.

Compare Java/JNI and its peers with the top-five CDF →

Current full-session admission

Review all four scenario gates and the complete Java roster →