For best results, two machines should be used for the test, one as the Sender Host (Client), the other as the Receiver Host (Server), OpenOnload could be used in case of Linux hosts.
FIX Antenna .NET Core performance can be measured by the execution of runClientRoundTripLatencyBM and runServerRoundTripLatencyBM scripts contained in the package (\Examples\Latency\Sender and \Examples\Latency\Server).
Configuration file engine.properties can be found in the application folder (Sender or Server).
You can reproduce the measurement on your hardware using the following instruction:
User can run these samples on Windows (both .NET Core and .NET Framework) using, for example, runServerRoundTripLatencyBMCore.bat or runServerRoundTripLatencyBMNet48.bat respectively.
Command line arguments for Server (used in runServerRoundTripLatencyBM):
Server host port where host is host name or IP address of server part and port is server's port.
Command line arguments for Sender (used in runClientRoundTripLatencyBM):
Sender host port rateLimited rate where host is host name or IP address of server part, port is server's port, rateLimited (true|false) show is messages' rate is limited, and if rate is limited, then rate parameter defines messages rate in msgs/sec (up to 1000).
User can configure CPU affinity in the engine.properties file. By default affinity is set to CPU 0 for both sending and receiving threads:
# This parameter specifies CPU id for the threads of session that send and receive the data from/in socket.
# Please set correct CPU id for better performance
# By default used first CPU (id=0)
Instead of single option 'cpuAffinity' user can use 'recvCpuAffinity' and 'sendCpuAffinity' configuration options to pin sending and receiving threads to different CPU cores.