OnixS SWXess Market Data Handler for C++  1.0.0.0
Low Latency Best Practices

Disable logging

Please use this code snippet to disable all logging operations:

// Available only log messages for fatal errors.
settings.logLevel = OnixS::SWXess::MarketData::MDI::LogLevel::Fatal;

// Available only logging to file.
settings.logSettings = OnixS::SWXess::MarketData::MDI::LogSettings::TraceToFile;

CPU affinity mask

Please use this code snippet to set processor affinity mask for the handler threads:

// Handler receiving thread will run on 2nd processor core
settings.receivingThreadAffinity.insert(1);
// Handler processing thread will run on 3rd processor core
settings.processingThreadAffinity.insert(2);

Direct mode

By default, the Handler uses 2 threads to receive and process data, but it can be configured to use only one thread:

settings.handlerThreadModel = OnixS::SWXess::MarketData::MDI::HandlerThreadModel::Direct;
Note
In case of Direct mode, packets are received from the network and processed immediately in the same thread without caching them in queue. Therefore, it is crucial to minimize the user's callback time.