COCO研究院

 找回密碼
 註冊
搜索
查看: 5169|回復: 3

MultiCharts多數列CPU效能瓶頸

[複製鏈接]
發表於 16-8-4 17:26 | 顯示全部樓層 |閱讀模式
本帖最後由 萬年船 於 16-8-4 17:37 編輯

目前MultiCharts版本存在一個已驗證過、確實存在的CPU效能瓶頸
對於同一個圖表視窗,如果以下條件同時成立的話
(請注意,是同時,任一條件不符合,就可跳脫此效能瓶頸的暴風圈
1.【使用多數列】
2.【勾選即時歷史吻合】
3.【即時Ticks累計已高達數十萬筆】
4.【出現連續多秒的快市】
CPU核心將會容易出現滿載現象
CPU滿載會出現何種延遲,相信不難想像(當然不會是幾百個毫秒可以計算的)
當然台指期一定是安全的,因為縱使是完整ticks也跳脫第(3)個條件
但對ES, GE就未必是安全的了

所以在MultiCharts原廠修復此問題前,如果有交易到ES, GE這種成交量巨大的商品
可能就要小心以下問題了:
1.CPU核心時脈高低
 (選VPS時要特別考量此點,別降低了網路延遲,但增加了運算延遲
  低時脈但多核心是無法幫助一個存在效能瓶頸的MC圖表視窗)
2.商品單日總Ticks量
3.一台電腦同時執行多少這類大量tick商品的策略



以下為驗證環境與條件
MultiCharts版本:9.0x86
作業系統:Vista
CPU:E8400雙核心兩條執行緒、核心時脈3G
記憶體:4G
模擬快市報價:MonitorQuote_v2.02內建的sQuote



首先圖表視窗使用多數列,如下圖所示
2016-8-4 下午 04-29-43.png



訊號需要使用到多數列,不用複雜的運算
只需兩行程式即可測出此效能瓶頸,如下圖所示
2016-8-4 下午 04-29-13.png



策略要勾選【即時與歷史數列資料吻合。】,如下圖所示
2016-8-4 下午 04-30-08.png



接下來開始模擬快市報價
每秒產生1000筆Ticks(ES商品每秒1000筆的快市還蠻容易看到的)
如下圖所示
2016-8-4 下午 04-27-31.png



等到累計的Tick數達到10幾萬時,就快看到CPU核心出現滿載的時候了
如下圖所示
2016-8-4 下午 04-27-25.png

上圖是用PerfMon軟體偵測的,可以看到MultiCharts這個程式CPU已吃到100%
而PerfMon的【Process】的【%Processor Time】計數器100%指的是一個CPU核心的100%
對應到【工作管理員】就是50%,如果是雙核心的話
而一個圖表視窗使用一條執行緒,所以其他核心是幫不上忙的
所以上圖的使用率永遠無法跳到200%(雙核心)




當然是否一定是10幾萬之後開始出現,會取決於
1.CPU核心時脈高低
2.快市每秒的tick數多寡
不同條件下,有所不同


評分

參與人數 9金錢 +21 收起 理由
TrendRover + 5 太強了
chapman710 + 2 感謝分享
Ray. + 2 很棒的文章,感恩
s00701 + 2 您的文都是經典~~
toughk + 2 好文章,我推薦
bacardi + 2 感謝分享
flight88 + 2 感謝分享
TKtrader + 2 感謝分享
f29825604 + 2 感謝分享

查看全部評分

發表於 16-8-5 15:19 | 顯示全部樓層
這狀況不單單出現在  MC
也同樣出現在 E-LEADER 之類的看盤策略軟體
這些軟體對於低時脈多核心的優化不夠強

挑選電腦時,高時脈比多核心對於看盤重要多了
發表於 16-8-5 21:13 | 顯示全部樓層
難怪,MC如果一個禮拜沒關,當的機率90%+
所以是要採用高時脈,而不是多核心嗎?
 樓主| 發表於 16-8-5 23:08 | 顯示全部樓層
目前已知的,只有那四個條件全部滿足,才會有效能瓶頸
其他條件是否也會有效能瓶頸,可能就要再試試了

原則上
如果策略只有一個,肯定是高時脈優先
如果有效能瓶頸,肯定是高時脈優先
如果有多個策略,又沒有效能瓶頸,多核心優先
您需要登錄後才可以回帖 登錄 | 註冊

本版積分規則

手機版|Archiver|站長信箱|廣告洽詢|COCO研究院

GMT+8, 24-12-26 00:04

Powered by Discuz! X3.4

Copyright © 2001-2023, Tencent Cloud.

快速回復 返回頂部 返回列表
理財討論網站 |