https://github.com/maxim2266/fullfix
A library for parsing FIX (Financial Information eXchange) protocol messages.
https://github.com/maxim2266/fullfix
c finance financilal-information fix fix-protocol hft information-exchange linux parsing
Last synced: 2 months ago
JSON representation
A library for parsing FIX (Financial Information eXchange) protocol messages.
- Host: GitHub
- URL: https://github.com/maxim2266/fullfix
- Owner: maxim2266
- License: bsd-3-clause
- Created: 2015-08-26T09:44:55.000Z (almost 10 years ago)
- Default Branch: master
- Last Pushed: 2022-06-09T14:09:21.000Z (about 3 years ago)
- Last Synced: 2025-04-14T07:06:56.968Z (2 months ago)
- Topics: c, finance, financilal-information, fix, fix-protocol, hft, information-exchange, linux, parsing
- Language: C
- Homepage:
- Size: 122 KB
- Stars: 69
- Watchers: 14
- Forks: 21
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# FullFIX
###### Platform: Linux
###### 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.
### Performance
The numbers below have been achieved on Intel Core i5-8500T 2.10GHz processor.
On modern production hardware the results will probably be better._Compiler:_ gcc (Ubuntu 7.3.0-27ubuntu1~18.04) 7.3.0
_OS:_ Linux Mint 19 64bit
FIX message type | FIX specification | Validation | Average time to parse one message
----------------------------------|------------------------------------------|------------|----------------------------------
NewOrderSingle('D') | Hand-coded spec. for this message only | No | 0.152 µs/msg
NewOrderSingle('D') | Hand-coded spec. for this message only | Yes | 0.262 µs/msg
NewOrderSingle('D') | Compiled full spec. for FIX.4.4 | Yes | 0.324 µs/msg
MarketDataIncrementalRefresh('X') | Hand-coded spec. for this message only | Yes | 0.487 µs/msg
MarketDataIncrementalRefresh('X') | Compiled full spec. for FIX.4.4 | Yes | 0.611 µs/msgFor more details see `doc/` directory of the project.