Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

Table of Contents

Hardware

...

Approach

Benchmarks were run against two different versions of FIX Antenna Java (2.24.0 and 2.19.4), and the results were compared in order to detect possible regressions.

Hardware

FIX Antenna Machine

  • Intel(R) Xeon(R) CPU E5-2687W 2643 v3 @ 3.40GHz (2 CPU Hyper-Trading Enabled, 24 Cores)
  • RAM 128 GB, 2133 MHz
  • NIC Solarflare Communications SFC9120 (Firmware-version: 4.2.2.1003 rx1 tx1)
  • Linux (CentOS 7.0.1406 kernel 3.10.0-123.el7.x86_64)
  • SolarFlare driver version: 4.1.0.6734a

Client Machine

  • Intel(R) Xeon(R) CPU E5-2643W 2687W v3 @ 3.10GHz (2 CPU Hyper-Trading Enabled, 20 Cores)
  • RAM 128 GB, 2133 MHz
  • NIC Solarflare Communications SFC9120 (Firmware-version: 4.2.2.1003 rx1 tx1)
  • Linux (CentOS 7.0.1406 kernel 3.10.0-123.el7.x86_64)
  • SolarFlare driver version: 4.1.0.6734a

...

Benchmarks

Single Session Echo Scenario

...

  • One acceptor session is configured on the

...

  • FIX Antenna Java side.

...

  • One initiator session is configured on the client

...

  • application side.

 The overall process is following:

...

  1. The client application connects to the

...

  1. FIX Antenna Java and sends 200000 FIX 4.2 messages

...

  1. at a rate of

...

  1. 50000 messages per second.

...

  1. FIX Antenna Java receives the messages and

...

  1. responds to the client application with the same message

...

  1. via the same TCP/IP connection (the same session).
  2. The client application collects the response time histogram.
  3. The process is repeated 5 times for each FIX Antenna Java version.

The response time measured by the client application is the difference between timestamps:

  • t1 - timestamp is taken right before sending a message to the client session;socket
  • t2 - timestamp is taken right after receiving the same message in from the client back from FIXAJ.

...

  • socket (from the FIX Antenna Java)

So the round-trip time formula is: RTT = t2 - t1 and the measurement unit is measured in microseconds.

Results

Image Removedmicroseconds.

The test scenario diagram:

Drawio
borderfalse
diagramNameFIX Antenna Java 2.24.1 Benchmark
simpleViewerfalse
width600
linksauto
tbstyletop
diagramDisplayName
lboxfalse
diagramWidth540
revision1

Results

The performance of the FIX Antenna Java 2.24.0 release is almost the same as the performance of the FIX Antenna Java 2.19.4 release. There is no performance degradation or improvement.

Performance value slightly differs from run to run due to the nature of the system used to measure the performance.

Image Added

The table below contains a single run one-to-one comparison and may have some differences compared to the graphic above that shows a 5 runs comparison.


FIXAJ 2.24.
1
0, usecFIXAJ 2.19.4, usec
Min8.
952
92
9
8.
008
64
Max
209
205.
407
567
215
203.
935
263
Median9.
295
5279.
271
135
Average9.
522
793749.
53386
40514
50%9.
295
5279.
271
135
75%9.
383
6879.
367
287
90%9.
503
8479.
487
479
95%9.
559
9439.
559
567
99%
9
10.
815
399
9
10.
855
063
99.9%
103
109.
167
567
139
120.
647
063
99.99%
192
191.
639
999195.
199
839