Page History
...
- A binary type system that maps FIX datatypes to native platform types, avoiding unnecessary and costly translation between character-based encodings and types directly usable by computers.
- Deterministic and narrowly targeted message layouts enforced by templates. They enable each use case of an overloaded FIX message type such as ExecutionReport to have its own layout.
- Each template contains just the required fields for its use case, such as immediate execution. The benefit is reduced message size and reduced optionality. In hardware terms, the result is reduced network bandwidth, reduced memory usage, reduction of cache misses, and less code branching in CPUs. All add up to deterministic performance and low latency. (In fact, “mechanical sympathy” enables hardware-based or accelerated solutions.)
- Just data on the wire. Metadata is exchanged out-of-band as a message schema. This enables pre-processing such as code generation of encoders and decoders rather on-the-fly interpretation.
- An explicit versioning mechanism that allows extension of templates over time without breaking older decoders.
FIX
The underpinning SBE schema definition also allows MarketFactory to offer a vanilla FIX protocol interface. This delivers identical session and application messages as those delivered via SBE, but delivered in FIX 5.0SP2 key=value| form over a standard fix protocol transport (FIXT.1.1).
- Existing client FIX engine and technology can be used with minimal effort, by coding against our Quickfix Data Dictionary.
- Use of both interfaces is supported, e.g. a Client may use the direct SBE interface for Market Data, whilst integrating via FIX for Orders.
Getting Started
As with our previous SBE offering, MarketFactory provides a reference client implementation in Java, using a Zero-GC, single threaded implementation model. This is based on the the SBE reference sources and illustrates the end result of using the the Real Logic compiler against the Whisperer Enterprise SBE Schema to generate compilable codec stubs and integrating the generated code with a higher level interface that supports the desired pricing and trading workflows.
...