我在本地把OnRtnDepthMarketData一接收到行情就立刻落地记录时间 发现到达时刻并不是均匀的500ms,上下波动似乎有100ms之多。 由于除去了网络延时的问题(假定我的网络比较慢,但是计算时间差的话,每个记录时刻都应该慢上一个恒定值),所以想请教一下,这个现象是CTP固有的呢,还是跟每个客户端相关? 不知道怎么附图。。
机器最好放到CTP托管机房再做测试比较科学,从托管机房到前置机中间3~5个网关的负荷一般不会发生大的波动,这样本地到达时间不会相差太大。 本地的话每个记录时刻是慢上一个随机数。我自己机子的波动只在两位数。
很好。 我本以为运行到Join()这一步,把主线程挂起,剩下的行情线程就占着CPU不放了。现在看来这个线程也会在没事干的时候被挂起,数据到了之后再被调度……的确需要时间做线程的切换。 ……不清楚行情线程具体的实现。至少可以在Linux上做一个实验,看看是不是到达时间的波动会减小?毕竟Linux相比Windows而言实时得多。