-
Notifications
You must be signed in to change notification settings - Fork 14
Home
Andy Malakov edited this page Apr 19, 2016
·
10 revisions
NOTE: This project is getting deprecated in favor of eFix
F1X is open source implementation of FIX Protocol in Java.
Do we need another Java FIX engine when we have QuickFIX/J?
Authors of F1X have been using QuickFIX/J for many years. Unfortunately QuickFIX/J can no longer keep up with modern financial applications - it is too slow and it produces a lot of short-lived objects (garbage). Garbage Collection pauses lead to unpredictable performance.
F1X is:
- Garbage-free. API and implementation provide alloc-free FIX messaging.
- Fast (message encoding/decoding is 10x / 6x faster than QuickFIX/J). For example: NewOrderSingle(D) message encoding takes about 500 nanoseconds, decoding takes around 210 nanoseconds.
- Supports FIX protocol version 4.1 ... 4.4 (5.0 in near term plans).
- Multiple FIX sessions with different FIX dialects can be hosted in a single JVM.
Read Quick Start and FAQ pages.
Advanced topics:
- Session Schedule
- Message Logging
- Message Store
- Writing a FIX Server
- Dealing with message gaps
- Performance
Please download project sources and build them using provided Ant / Maven / Gradle scripts.
F1X uses the following software libraries:
- Disruptor disruptor buffer is used for asynchronous I/O.
- GFLogger Garbage Free Logger.
- QuickFIX/J QuickFIX dictionaries are used to auto-generate standard FIX enumerations and constants.
- JUnit