Skip to content
Andy Malakov edited this page Apr 19, 2016 · 10 revisions

NOTE: This project is getting deprecated in favor of eFix

What is F1X

F1X is open source implementation of FIX Protocol in Java.

Why

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.

Documentation

Read Quick Start and FAQ pages.

Advanced topics:

Download

Please download project sources and build them using provided Ant / Maven / Gradle scripts.

Third party dependency

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
Clone this wiki locally