TE Performance Characteristics
The Trading Engine software is designed with pragmatism and performance in mind. Below a number of early performance observations could be found. The have not been analyst in depth and as always there are room for improvements. The current implementation offers a REST / WEB Socket interface for integrating client with the market place service. This is a pragmatic approach offloading a bit of complexity when it commes to client development and client integration. However HTTP and WEB socket is not the most efficient protocols when it low latency. Besides the overhead the WEB Sockets is a point-to-point mechanism implementating a batch mechanism of messages sent out which affects the turnaround time for broadcasts. Whatever this can be tweaked is currently not looked into. The TE and its proptocol can easily be changed to an alternative transport mechanism such as raw tcp/ip which likely will improve the latency, especially for dissemination of unsolicited messages from the market place to clients. Early Test An early test has been executed where a windows 7 machine has been hosting the TE solution.
The script executed (repeatly) was eseentially insert 8 buy order, insert a sell order matching the 8 buy orders and
then a delete of the remaining sell order.
The roundtrip / response latency are measured in a test client end-to-end using the TE API.
<Execution repeat="300" txRate="300" txDistribution="Poisson">
<AddOrderRequest instrument="1:APPL" price="99.50" volume="10" operation="BUY" tag="order3"/>
<AddOrderRequest instrument="1:APPL" price="99.00" volume="10" operation="BUY" tag="order3"/>
<AddOrderRequest instrument="1:APPL" price="99.25" volume="10" operation="BUY" tag="order3"/>
<AddOrderRequest instrument="1:APPL" price="99.00" volume="10" operation="BUY" tag="order3"/>
<AddOrderRequest instrument="1:APPL" price="99.50" volume="10" operation="BUY" tag="order3"/>
<AddOrderRequest instrument="1:APPL" price="99.25" volume="10" operation="BUY" tag="order3"/>
<AddOrderRequest instrument="1:APPL" price="99.75" volume="10" operation="BUY" tag="order3"/>
<AddOrderRequest instrument="1:APPL" price="98.00" volume="100" operation="SELL" tag="orderXX"/>
<DeleteOrderRequest tag="orderXX"/>
</Execution>
Summary of early perfomance test execute 2020-12-03