Common Test Environment

  • OS: Windows 7 Enterprise 64-bit
  • Java: version 1.7.0.13 (Java HotSpot™ Server VM)
  • Version: FIX Antenna Java 2.11.4
  • Test execution date: Feb 04th, 2013
  • Source code: MeasureInternalLatencyBM.java
  • CPU: Intel® Core™ i5 @ 3.20GHz
  • RAM: 4Gb
  • Hard drive: 320Gb, 16Mb, 7200RPM
    (Hitachi HDS721032CLA362)

This benchmark measures the time required for processing outgoing message inside engine. The starting point of measure is a point before calling to FIXSession.sendMessage() (t1) and the end point is just before the sending packet with serialized message to socket(t2).

Latency

View larger image

File-based Mode
(Persistent Session)
Test Results Latency Distribution
(Persistent Session)
  • Validation: off
  • Storage Factory Type: file
  • Message Queue type: file
  • Message Queue Size: unlimited
  • Nagle's algorithm (TCP_NODELAY): true
  • Min latency (µs): 6.1
  • Max latency (µs): 15505,4
  • Average latency (µs): 10.4
  • Median (µs): 9.9
  • Standard deviation(µs): 20.1
  • Values distribution:
    • [6.1 µs; 30.5 µs] : 99.56%
    • [6.1 µs; 50.6 µs] : 99.67%
    • [6.1 µs; 70.8 µs] : 99.77%
  • Measurement results (18Mb)
Persistent _send

View larger image

Memory-based Mode (Transient Session) Test Results Latency Distribution
(Transient Session)
  • Validation: off
  • Storage Factory Type: memory
  • Message Queue type: memory
  • Message Queue Size: unlimited
  • Nagle's algorithm (TCP_NODELAY): true
  • Min latency (µs): 0.6
  • Max latency (µs): 32.1
  • Average latency (µs): 1.0
  • Median (µs): 1.0
  • Standard deviation(µs): 0.3
  • Values distribution:
    • [0.7 µs; 1.4 µs] : 57.85%
    • [0.6 µs; 1.7 µs] : 99.61%
    • [0.6 µs; 2.0 µs] : 99.86%
  • Measurement results (16Mb)
Transient _send

View larger image

Memory-mapped File-based Mode (Persistent Session) Test Results Latency Distribution
(Transient Session)
  • Validation: off
  • Storage Factory Type: memory mapped file
  • Message Queue type: memory mapped file
  • Message Queue Size: unlimited
  • Nagle's algorithm (TCP_NODELAY): true
  • Min latency (µs): 1.0
  • Max latency (µs): 9473.1
  • Average latency (µs): 2.1
  • Median (µs): 2.2
  • Standard deviation(µs): 12.1
  • Values distribution:
    • [1.0 µs; 14.3 µs] : 99.30%
    • [1.0 µs; 26.4 µs] : 99.98%
    • [1.0 µs; 38.5 µs] : 100.00%
  • Measurement results (16Mb)
Persistent MMF_send

View larger image

Common Test Environment

  • OS: Windows 7 Enterprise 64-bit
  • Java: version 1.7.0.13 (Java HotSpot™ Server VM)
  • Version: FIX Antenna Java 2.11.4
  • Test execution date: Feb 04th, 2013
  • Source code: MeasureInternalLatencyBM.java
  • CPU: Intel® Core™ i5 @ 3.20GHz
  • RAM: 4Gb
  • Hard drive: 320Gb, 16Mb, 7200RPM
    (Hitachi HDS721032CLA362)

This benchmark measures the time required for processing of the received packet and providing FIX message to user. The starting point of measure is a point right after receiving data from socket (t3) and the end point is inside user callback (t4).

Latency

View larger image

File-based Mode
(Persistent Session)
Test Results Latency Distribution
(Persistent Session)
  • Validation: off
  • Storage Factory Type: file
  • Message Queue type: file
  • Message Queue Size: unlimited
  • Nagle's algorithm (TCP_NODELAY): true
  • Min latency (µs): 2.6
  • Max latency (µs): 684.5
  • Average latency (µs): 3.9
  • Median (µs): 3,8
  • Standard deviation(µs): 1.2
  • Values distribution:
    • [2.7 µs; 5.2 µs] : 95.17%
    • [2.6 µs; 6.4 µs] : 99.04%
    • [2.6 µs; 7.6 µs] : 99.63%
  • Measurement results (17Mb)
Persistent _receive

View larger image

Memory-based Mode (Transient Session) Test Results Latency Distribution
(Transient Session)
  • Validation: off
  • Storage Factory Type: memory
  • Message Queue type: memory
  • Message Queue Size: unlimited
  • Nagle's algorithm (TCP_NODELAY): true
  • Min latency (µs): 2.2
  • Max latency (µs): 922.2
  • Average latency (µs): 3.3
  • Median (µs): 3.2
  • Standard deviation(µs): 5.6
  • Values distribution:
    • [2.2 µs; 8.9 µs] : 99.92%
    • [2.2 µs; 14.6 µs] : 99.98%
    • [2.2 µs; 20.2 µs] : 99.99%
  • Measurement results (17Mb)
Transient _receive

View larger image

Memory-mapped File-based Mode (Persistent Session) Test Results Latency Distribution
(Transient Session)
  • Validation: off
  • Storage Factory Type: memory mapped file
  • Message Queue type: memory mapped file
  • Message Queue Size: unlimited
  • Nagle's algorithm (TCP_NODELAY): true
  • Min latency (µs): 2.6
  • Max latency (µs): 800.3
  • Average latency (µs): 3.5
  • Median (µs): 2.9
  • Standard deviation(µs): 5.0
  • Values distribution:
    • [2.6 µs; 8.5 µs] : 99.79%
    • [2.6 µs; 13.5 µs] : 99.86%
    • [2.6 µs; 18.5 µs] : 99.91%
  • Measurement results (16Mb)
Persistent MMF_receive

View larger image

Common Test Environment

  • OS: Windows 7 Enterprise 64-bit
  • Java: version 1.7.0.13 (Java HotSpot™ Server VM)
  • Version: FIX Antenna Java 2.11.4
  • Test execution date: Feb 04th, 2013
  • Source code: MeasureInternalLatencyBM.java
  • CPU: Intel® Core™ i5 @ 3.20GHz
  • RAM: 4Gb
  • Hard drive: 320Gb, 16Mb, 7200RPM
    (Hitachi HDS721032CLA362)

This benchmark measures the time required for processing incoming message and sending the answer. The starting point of measure is a point right after receiving data from socket (t3) and the end point is just before sending the packet with answer to counterparty (t2).

Receive _And _Send _Latency

View larger image

File-based Mode
(Persistent Session)
Test Results Latency Distribution
(Persistent Session)
  • Validation: off
  • Storage Factory Type: file
  • Message Queue type: file
  • Message Queue Size: unlimited
  • Nagle's algorithm (TCP_NODELAY): true
  • Min latency (µs): 11.5
  • Max latency (µs): 368 398.0
  • Average latency (µs): 17.5
  • Median (µs): 14.4
  • Standard deviation(µs): 525.9
  • Values distribution:
    • [11.5 µs; 543.4 µs] : 99.98%
    • [11.5 µs; 1069.3 µs] : 100%
    • [11.5 µs; 1595.2 µs] : 100%
  • Measurement results (19Mb)
Persistent _receive _send

View larger image

Memory-based Mode (Transient Session) Test Results Latency Distribution
(Transient Session)
  • Validation: off
  • Storage Factory Type: memory
  • Message Queue type: memory
  • Message Queue Size: unlimited
  • Nagle's algorithm (TCP_NODELAY): true
  • Min latency (µs): 5.5
  • Max latency (µs): 746.7
  • Average latency (µs): 8.4
  • Median (µs): 7.1
  • Standard deviation(µs): 5.5
  • Values distribution:
    • [5.5 µs; 14.0 µs] : 99.35%
    • [5.5 µs; 19.5 µs] : 99.57%
    • [5.5 µs; 25.0 µs] : 99.69%
  • Measurement results (18Mb)
Transient _receive _send

View larger image

Memory-mapped File-based Mode (Persistent Session) Test Results Latency Distribution
(Transient Session)
  • Validation: off
  • Storage Factory Type: memory mapped file
  • Message Queue type: memory mapped file
  • Message Queue Size: unlimited
  • Nagle's algorithm (TCP_NODELAY): true
  • Min latency (µs): 7.1
  • Max latency (µs): 10 078.7
  • Average latency (µs): 10.1
  • Median (µs): 8.7
  • Standard deviation(µs): 15.2
  • Values distribution:
    • [7.1 µs; 25.3 µs] : 99.47%
    • [7.1 µs; 40.6 µs] : 99.91%
    • [7.1 µs; 55.8 µs] : 99.97%
  • Measurement results (18Mb)
Persistent MMF_receive _send

View larger image

Common Test Environment

  • OS: Windows 7 Enterprise 64-bit
  • Java: version 1.7.0.13 (Java HotSpot™ Server VM)
  • Version: FIX Antenna Java 2.11.4
  • Test execution date: Feb 04th, 2013
  • Source code: MeasureInternalLatencyBM.java
  • CPU: Intel® Core™ i5 @ 3.20GHz
  • RAM: 4Gb
  • Hard drive: 320Gb, 16Mb, 7200RPM
    (Hitachi HDS721032CLA362)

This benchmark measures a delay between sending message from one side and receiving it by another. Also this time includes the system delay for passing data through localhost loop. The starting point of measure is a point before calling to FIXSession.sendMessage() by sender (t1) and the end point is inside the user callback on the acceptor side (t4).

Latency

View larger image

File-based Mode
(Persistent Session)
Test Results Latency Distribution
(Persistent Session)
  • Validation: off
  • Storage Factory Type: file
  • Message Queue type: file
  • Message Queue Size: unlimited
  • Nagle's algorithm (TCP_NODELAY): true
  • Min latency (µs): 15.1
  • Max latency (µs): 7 055,2
  • Average latency (µs): 18.7
  • Median (µs): 16.7
  • Standard deviation(µs): 15.0
  • Values distribution:
    • [15.1 µs; 33.7 µs] : 98.91%
    • [15.1 µs; 48.8 µs] : 99.27%
    • [15.1 µs; 63.8 µs] : 99.45%
  • Measurement results (18Mb)
Persistent _send _receive

View larger image

Memory-based Mode (Transient Session) Test Results Latency Distribution
(Transient Session)
  • Validation: off
  • Storage Factory Type: memory
  • Message Queue type: memory
  • Message Queue Size: unlimited
  • Nagle's algorithm (TCP_NODELAY): true
  • Min latency (µs): 8.3
  • Max latency (µs): 6 210,3
  • Average latency (µs): 10.1
  • Median (µs): 9.3
  • Standard deviation(µs): 8.4
  • Values distribution:
    • [8.3 µs; 18.5 µs] : 97.99%
    • [8.3 µs; 26.9 µs] : 99.89%
    • [8.3 µs; 35.2 µs] : 99.94%
  • Measurement results (16Mb)
Transient _send _receive

View larger image

Memory-mapped File-based Mode (Persistent Session) Test Results Latency Distribution
(Transient Session)
  • Validation: off
  • Storage Factory Type: memory mapped file
  • Message Queue type: memory mapped file
  • Message Queue Size: unlimited
  • Nagle's algorithm (TCP_NODELAY): true
  • Min latency (µs): 7.4
  • Max latency (µs): 12 056,2
  • Average latency (µs): 9.7
  • Median (µs): 8.3
  • Standard deviation(µs): 21.1
  • Values distribution:
    • [7.4 µs; 30.8 µs] : 99.41%
    • [7.4 µs; 51.9 µs] : 99.89%
    • [7.4 µs; 73.0 µs] : 99.95%
  • Measurement results (17Mb)
Persistent MMF_send _receive

View larger image

Common Test Environment

  • OS: Windows 7 Enterprise 64-bit
  • Java: version 1.7.0.13 (Java HotSpot™ Server VM)
  • Version: FIX Antenna Java 2.11.4
  • Test execution date: Feb 04th, 2013
  • Source code: ThroughputTester.java
    SimpleServer.java
  • CPU: Intel® Core™ i5 @ 3.20GHz
  • RAM: 4Gb
  • Hard drive: 320Gb, 16Mb, 7200RPM
    (Hitachi HDS721032CLA362)
Mode Settings Test Results

File-based (Persistent Session)

  • Validation: off
  • Stogate Factory Type: file
  • Message Queue type: file
  • Message Queue Size: unlimited
  • Nagle's algorithm (TCP_NODELAY): false
  • Sending time (ms): 18,595
  • Throughput (msg/sec): 53,778

Memory-based Mode (Transient Session)

  • Validation: off
  • Stogate Factory Type: memory
  • Message Queue type: memory
  • Message Queue Size: unlimited
  • Nagle's algorithm (TCP_NODELAY): false
  • Sending time (ms): 6,599
  • Throughput (msg/sec): 151,538

Memory-mapped File-based Mode (Persistent Session)

  • Validation: off
  • Stogate Factory Type: memory mapped file
  • Message Queue type: memory mapped file
  • Message Queue Size: unlimited
  • Nagle's algorithm (TCP_NODELAY): false
  • Sending time (ms): 10,561
  • Throughput (msg/sec): 94,688