What is Chronicle FIX ?
Built on our Chronicle libraries, and with the Chronicle philosophy. Chronicle FIX employs amongst others, the principles of Zero-copy eliminating unnecessary garbage collection and increased speed. Runtime code generation that reduces code size for efficient CPU cache usage and increased speed. Smart ordering for optimal parsing and you guessed it increased speed. All these combine to allow Chronicle FIX to achieve excellent performance results.
Benchmarks: Click here
Chronicle FIX Engine Features
How does it work?
The parser has been optimised to accept fields in an expected order. Our default implementation has the order the fields as they appear in the fixprotocol.org documentation. However, the fields can be in any order allowed by FIX, but this may be a little slower. For generating, you do the reverse. You call an interface which writes the FIX message as you add the fields. Ideally, you call the fields in the expected order; this speeds up parsing.
By recycling the buffer, and using object pools and mutable StringBuilders, we can send and receive messages end-to-end without significant garbage. Our target is less than one byte per message, on average. We design our systems to produce less than 1 GB/hour of garbage. This means that a 24 GB Eden space takes 24 hours to fill up. You can save around 0.2 microseconds if you drop checking, or computing, the byte sum.
Super Low Latency
Chronicle Queue (a super-optimised low-latency core application from the Chronicle Enterprise suite) is included which logs every FIX message. And with Replay, you can easily replay all your historical FIX messages from a Chronicle queue into Chronicle FIX Engine to give the deterministic replay. In other words, you can feed your test systems with actual historical data; so no more made-up, or generated data, that can’t reproduce production issues. You can use this technique to test experimental strategies.
Chronicle FIX Engine can be used stand-alone. However, it really makes sense to use it as your entry point to the rest of the Chronicle products. You will benefit from the ultra-low latency that we can provide if you use Chronicle as the backbone throughout your systems.
Automatic FIX version translation and routing
Chronicle FIX Engine supports seamless and simultaneous translation between multiple FIX versions/schemas. This allows an organisation to maintain its business logic using a single unified FIX version, for example, FIX 5.0, but facilitates clients using many other FIX versions/schemas to connect to the unified business logic. All of this enables faster time-to-market plus it reduces development and maintenance costs.
The FIX Router can be configured to automatically route and proxy between destinations (and also transparently translate between different FIX versions/schemas), and enable clients of any version to connect to existing services with no modifications.
FX – Chronicle FIX has support for the Refinitiv SBE, EBS Live Ultra, with CME Globex in development:
- Ultra low latency & high throughput
- Full support for EBS/TR's spec and multiple data formats
- Ability to listen to two streams simultaneously or fail between streams
- Simple programming mode, able to easily integrate with Chronicle Microservices etc.
- Flexible programming model, can run standalone or integrated in your codebase
- Operational and developer support tooling
ITCH –ITCH functionality is supported by Chronicle FIX
- Session level and sequenced messages are fully configurable
- Chronicle FIX can generate highly optimised ITCH parser which can parse a typical ITCH message in less than a microsecond
- Chronicle FIX allows FIX connections to coexist with ITCH connections in the same running engine
SBE is supported by Chronicle FIX
- SBE is optimized for low latency of encoding and decoding
- iLink 3 SBE Binary Order Entry is in development
- SBE connections can coexist with FIX and ITCH connections in the same running engine
How can you get access to Chronicle FIX Engine?
You can access Chronicle FIX Engine via our enterprise GitHub repository where you can read, fork, and create, pull-requests on our code. It works exactly like the open source. You can be as involved as you like.
Chronicle FIX Engine Support to Meet Your Specific Needs
We'll support as you need, to help with any issues that might arise, either with Chronicle FIX Engine itself, or with your project as a whole. We understand that the FIX Engine is usually only a small part of a system, and we can use our experience to help with latency issues with other parts of your project should you need it.
Want to learn more? See the benefits of Chronicle's products in action
At Chronicle, we believe less is more. Learn more about why and how Chronicle can support your business and how it can increase efficiency and streamline your systems and workflows by speaking with one of our experts.
We can also offer you our release notes.