Description
This section describes performance scenarios and numbers
obtained using PerformanceTest application that is part of the
migration package (source
code). The application code is written using the QuickFIX©*
interface, the same source code is used when running the test with
QuickFIX and FIX Antenna® library.
*Copyright © 2001-2010 quickfixengine.org. All
rights reserved.
Latency
The test application establishes a FIX session on a local host
using an instance of ThreadedSocketAcceptor/Initiator class. A FIX
message (NewOrderSingle) is repeatedly sent within the session. The
time of the FIX message travelling from the sending endpoint to the
receiving endpoint is measured and reported. This is the time which
is spent between Session::send() call and
MessageCracker::onMessage(). FIX session uses persistent disk
message store.

- CPU: AMD Phenom II X4 3.0 GHz
- Average message latency with FIX
Antenna: 38 mcs (min: 34, max: 276)
- Average message latency with
QuickFIX: 146 mcs (min: 141, max: 14528)
- Conclusion: The message delivery time
with FIX Antenna® QF Adaptor is 3.7 times less than that of the
QuickFIX library.
Throughput
The test application establishes FIX sessions on a local host
using an instance of SocketAcceptor/Initiator class. A FIX message
(NewOrderSingle) is repeatedly sent into each of the created
sessions. The test ends once all of 1,000,000 messages are
delivered to the receiving endpoint. The test calculates the
throughput, that is the number of messages delivered per 1
second.

Conclusion: The message throughput of
FIX Antenna® with QF adaptor is 7.2 times more than that of the
QuickFIX using the single instance of SocketAcceptor/Initiator
class that hosts the sessions. With FIX Antenna® you don't need to
decide how many of the SocketAcceptor instances to launch in order
to load your CPU cores with enough work. The scalability is
achieved automatically regardless the session grouping within
particular acceptor/initiator instances.