金字塔封裝的下單接口的時間消耗問題。
作者:金字塔 來源:cxh99.com 發布時間:2015年08月21日
- 咨詢內容:
請問金字塔的研發人員,有沒有測試過ORDER對象在調用封裝的CTP類API時,所消耗的時間?比如,下列這段代碼
ATIME=timer
'調用ORDER前的時間點
callorderid= Order.Buy(1,1,0,0,"ru05","sq","930137",0) '調用ORDER
BTIME=ORDER.BUY從本機發送下單指令完成時所記錄的時間點。
TIMEUSE=BTIME-ATIME.
我想知道的就是TIMEUSE為多少MS?
- 金字塔客服:
消耗的時間是可以忽略不計的,也就是那么幾納秒而已
[此貼子已經被作者于2014/1/24 22:08:14編輯過]
- 用戶回復:
我自己粗略的寫了下面的代碼來估算,考慮到CALL過程是異步執行,所以時間的消耗肯定不是很精確,實際消耗的時間應該要比計算的還要多。Sub frmMain_CommandButton1_Click()
frmmain_lbltxt.caption=""
befsend=timer
callorderid= Order.Buy(1,1,0,0,"ru05","sq","XXXXX",0) '市價開多單
if callorderid<>0 then afterorder=timer
atmp=afterorder-befsend
fundelay=(atmp-int(atmp))*1000
frmmain_lbltxt.caption="調用ORDER.BUY語句消耗:" &fundelay &"MS"
End Sub
測試的時候是實盤,XXXXX用的是實際登陸的賬戶。80%時間是0MS,20%的時間是7MS。0MS估計是因為callorderid= Order.Buy(1,1,0,0,"ru05","sq","XXXXX",0) 是異步執行,所以無法真實計算。
此主題相關圖片如下:qq圖片20140124220741.jpg
但是20%所測出的時間消耗達到7MS,這是不是有點恐怖了?
[此貼子已經被作者于2014/1/24 22:15:34編輯過]
- 網友回復:
還是我寫的代碼有誤?
- 網友回復:
你這么測試是沒有任何意義的,你測試是調用函數返回的時間,我沒有仔細測試你的代碼不知道你寫的對不對,但是方法你就有問題.金字塔的報單發送是異步的,你測試代碼的執行行的返回時間,本身就有問題的