Fix8 is the fastest C++ Open Source FIX framework. For the same message, Fix8 encodes 3.2 times faster and decodes 3.0 times faster averaging 3.0 times over Quickfix. In other words, reduces encode latency by 69% and reduces decode latency by 67%. See Performance.
Fix8 contains a built-in unit test framework. We are continually adding and revising our test cases. You can add your own. Fix8 also has a metadata driven test harness that can be scripted to support captured or canned data playback.
Fix8 supports standard FIX4.X to FIX5.X and FIXT1.X. If you have a custom FIX variant Fix8 can use that instead. Multiple FIX variants can be used in the same application. New FIX versions will be supported.
Fix8 optionally uses industry recognised components for many important functions, including Poco, TBB, Redis, Memcached, BerkeleyDB, Fastflow, Google Test, Google Performance Tools, Doxygen and more. We didn't reinvent the wheel.
Fix8 runs on industry standard Linux on IA32, x86-64, Itanium, PowerPC and ARMv7. Other
*NIX variants may work too. Fix8 also runs on
OSX and Windows 32/64.
Fix8 statically supports nested components and repeating groups to any depth. The Fix8 compiler and runtime library take the pain out of using repeating groups.
Fix8 is fast. On typical hardware, client NewOrderSingle encode latency is now 2.1µs, and ExecutionReport decode 3.2µs. Without the framework overhead, NewOrderSingle encode latency is 1.4µs. We are continually improving this. See Performance.
Fix8 supports field and value domain validation, mandatory/optional field assertion, field ordering, well-formedness testing, retransmission and standard session semantics.
Fix8 is a complete C++ FIX framework, with client/server session and connection classes (including SSL); support for the standard FIX field types; FIX printer, async logger, async message persister and XML configuration classes. Fix8 can easily be extended and customised.