I am running NT7R2 on Zen-Fire Virtual Machine and conducting tests to determine why the processing times from order submission/change to acknowledgement that the order has reached state 'working' sometimes exceed 500 ms. I am generating my own timestamps plus am checking IOrder.Time plus have enrolled Zen-Fire and MIrus to this exercise, too.
FDAX Example: On average the total processing time has been around 130-140 ms (N=several hundreds). This is not bad taking into account that the signal must cross the Atlantic twice during the process. Counting starts when I submit/change the order inside OnMarketData() - timestamp SendTime - and ends when OnOrderUpdate() gets called and the order state is 'working' - timestamp AckTime. Occasionally, however, I get following results (the digits after 'PM' denote milliseconds):
SendTime=3/10/2011 1:43:33 PM:921,
IOrder.Time=3/10/2011 1:43:34 PM:718,
AckTime=3/10/2011 1:43:34 PM:874,
The whole process took 953 ms. Interestingly, there is a 156 ms gap between IOrder.Time and AckTime. Returning to my question at the top of this post, what could explain that difference? Understanding that 156 ms difference does not sove the equation, but I am trying to narrow down the problem space...

Comment