llfix

Low latency FIX protocol engine

Intro

llfix is a low-latency FIX engine available as an MIT-licensed open-source edition and a commercial edition.

Open-source edition (MIT)

  • Single-digit microsecond encoding/decoding (incl. serialisation & validations)
  • High determinism
  • Header-only, no mandatory dependencies (optional: LibNUMA)
  • FIX version agnostic, all versions supported
  • Immediate mode (no internal message queueing)
  • No memory allocations on latency-critical paths & vDSO utilisation
  • Fast message serialisation via virtual memory
  • TCP administration interface (+ Python CLI client)

Commercial edition additional features

  • Scalable multithreaded FIX server
  • Solarflare TCPDirect support for FIX clients (Linux only)
  • FIX dictionary validations (QuickFIX format)
  • Code generator from your custom dictionary
  • Administration GUI
  • High availability
  • SSL/TLS support
  • Full source code with no checkers, access to bug tracker & support

Supported platforms

Language / Standard

C++17

Operating systems / toolchains

Linux (GCC & Clang) and Windows (MSVC)

Commercial edition builds

  • You can choose between header-only and static library builds
  • Optional dependencies: TinyXML2, OpenSSL, Solarflare TCPDirect

Benchmarks

Source: Benchmark sources can be found in the GitHub repository's 'benchmarks' folder.

OS & Compiler: RHEL9.4 and g++ (GCC) 11.4.1

Tuning: Isolated cores, HT disabled, max CPU freq, interleaved RAM

Server: 2× Intel Xeon Gold 6134 (2×8 physical cores @3.2GHz), 256 GB DDR4

NIC: Solarflare SFN8522 PLUS (10GbE)

Timestamps: CPU based in-app RDTSCP

TX/send (Solarflare Onload)

1 million messages, latency includes encoding, message serialisation, and enqueueing to NIC (not wire-to-wire)

8=FIXT.1.1|9=218|35=D|34=2|49=CLIENT1|52=20251231-18:21:36.457245600|56=EXECUTOR|50=SNDR_SUB|57=SRVR_SUB|11=1|55=NOKIA.HE|54=1|38=10|44=10000|40=2|59=0|453=2|448=PARTY1|447=D|452=1|448=PARTY2|447=D|452=3|60=20251231-18:21:36.457245600|10=221|
  • P50: 573 ns
  • P75: 798 ns
  • P90: 1044 ns
  • P95: 1588 ns
  • P99: 2663 ns

TX/send (Solarflare TCPDirect)

1 million messages, latency includes encoding, message serialisation, and enqueueing to NIC (not wire-to-wire)

8=FIXT.1.1|9=218|35=D|34=2|49=CLIENT1|52=20251231-18:21:36.457245600|56=EXECUTOR|50=SNDR_SUB|57=SRVR_SUB|11=1|55=NOKIA.HE|54=1|38=10|44=10000|40=2|59=0|453=2|448=PARTY1|447=D|452=1|448=PARTY2|447=D|452=3|60=20251231-18:21:36.457245600|10=221|
  • P50: 493 ns
  • P75: 536 ns
  • P90: 685 ns
  • P95: 1437 ns
  • P99: 2629 ns

Singlethreaded FIXServer throughput

4.7 million messages in total from 32 clients handled by one thread, on loopback device, includes message serialisation and dictionary & other validations

8=FIXT.1.1|9=188|35=D|34=2|49=CLIENT1|52=20251231-17:42:03.736004873|56=EXECUTOR|11=1|55=BMWG.DE|54=1|38=1|44=5|40=2|59=0|453=2|448=PARTY1|447=D|452=1|448=PARTY2|447=D|452=3|60=20251231-17:42:03.736004873|10=077|
  • Throughput: 222423 msg/s
  • Latency/message: 4.49 µs

Multithreaded FIXServer throughput

4.7 million messages in total from 32 clients handled by multiple threads, on loopback device, includes message serialisation and dictionary & other validations

8=FIXT.1.1|9=188|35=D|34=2|49=CLIENT1|52=20251231-17:42:03.736004873|56=EXECUTOR|11=1|55=BMWG.DE|54=1|38=1|44=5|40=2|59=0|453=2|448=PARTY1|447=D|452=1|448=PARTY2|447=D|452=3|60=20251231-17:42:03.736004873|10=077|
  • Throughput: 564,177 msg/s
  • Latency/message: 1.77 µs

Features

Commercial edition features are fully accessible: no hidden code, no licence checkers.

Download the product overview slides (PDF)

Multithreaded FIX server

Multithreaded FIX server allows to optimise message throughput by taking advantage of CPU cores.

TCPDirect for FIX clients

Solarflare TCPDirect bypasses the BSD sockets interface and its semantics to achieve lower latency than Onload.

AdminGUI

TCP based Admin GUI allows to manage sessions of your instances. It allows you to promote or demote instances, enable or disable sessions, manage sequence numbers, inspect loaded configs and monitor events.


AdminGUI

High availability

Sequence numbers and messages are synchronised reliably with the TCP based HA Syncer. The HA Manager guarantees continuous availability through TCP-based leader election.


High availability

Code generator

The llfix code generator produces classes (with encoders/decoders) and enums from your FIX dictionary, reducing integration time.

FIX Dictionary validations

Built-in FIX dictionary validation (QuickFIX format) ensures protocol correctness.

Licence types

Monthly subscription options allow you to avoid long-term commitment to expensive upfront licences.

Licence type Monthly Annual Notes
Per Server Licence £250 £2,500 Production usage
Enterprise Licence Unlimited servers, priority support, bespoke terms

Unlimited usage included for Test / QA / UAT environments for all licence types.

Contact

For all enquiries regarding licensing, commercial support, partnerships, or general questions, please contact us at:

Coreware Limited is registered in England and Wales under company number 8542146.
Registered office: 565 Green Lanes, London, N8 0RL, United Kingdom.