Licence: BSD 3-clause
Status: Beta release
FullFIX is a library for parsing Financial Information eXchange (FIX) messages.
The main goal of the project is to produce the fastest software solution for FIX protocol.
The library is written entirely in C for better portability.
The parser depends on
libc only and it does not impose any I/O or threading model.
Unlike some other well known solutions, in this parser the FIX specification
gets converted to efficient C code at compile time to achieve the best performance.
Supported FIX protocol versions: up to and including version 4.4.
The numbers below have been achieved on my 5 years old laptop with Core i5-430M 2.25GHz processor. On modern production hardware the results will probably be better.
Compiler: gcc (Ubuntu 4.8.4-2ubuntu1~14.04) 4.8.4
OS: Linux Mint 17.2 64bit
|FIX message type||FIX specification||Validation||Average time to parse one message|
|NewOrderSingle('D')||Hand-coded spec. for this message only||No||0.326 µs/msg|
|NewOrderSingle('D')||Hand-coded spec. for this message only||Yes||0.563 µs/msg|
|NewOrderSingle('D')||Compiled full spec. for FIX.4.4||Yes||0.735 µs/msg|
|MarketDataIncrementalRefresh('X')||Hand-coded spec. for this message only||Yes||1.061 µs/msg|
|MarketDataIncrementalRefresh('X')||Compiled full spec. for FIX.4.4||Yes||1.265 µs/msg|
For more details see
doc/ directory of the project.