我用VBA編了個在Excel裏運行的股票交易模型,不大,也就一二百行。其實就是一個大約1000次的循環,一個循環對應一個股票,在每個循環中需要調用一個Function, 這個Function的功能是下載Yahoo上的這個股票數據(就是Time, Open, High, Low, Close, Volume),我隻下載兩個月的數據,不是很多。然後根據這兩個月的數據做些很簡單的加減乘除計算。
在我自己家的電腦上Run一次竟然需要2個小時。我辦公室的電腦上需要大約5分鍾。
我的電腦(半年前買的)配置:Processor: Pentium (R)Dual-Core CPU E5300@2.6GHz RAM: 2.00GB
我辦公室電腦大概6個月前買的,化了$500,我隻記得Processor是3.0GHz。
關鍵是我這個交易模型是興趣愛好,辦公室幹的是別的活,所以我隻能在家裏電腦上做. 這麽慢的速度讓人無法忍受。我留意Code 運行時,絕大部分時間耗在從YAHOO 下載股票數據上了。辦公室的電腦運行時間短,主要原因是下載得特別快。我家裏網絡是Verizon,用的是Optic Fiber, 比寬帶速度還要快幾倍。我公司用的是AOL.不太清楚具體是什麽。
我對電腦不太懂,如果我想提高運行速度,應該怎麽辦?如果將來買新電腦,應該選什麽樣的?
謝謝。
為什麽我的VBA程序運行這麽慢?
所有跟帖:
•
先下載所有數據/文件,再處理,你就知道問題在哪裏了
-?ttу-
♂
(0 bytes)
()
08/26/2010 postreply
17:06:36
•
挺起來很厲害啊。可能yahoo跟你公司在同一個骨幹網
-flywhc-
♂
(634 bytes)
()
08/27/2010 postreply
03:46:10
•
家裏沒準是無線網,信號弱掉數據包問題比較嚴重
-?ttу-
♂
(0 bytes)
()
08/27/2010 postreply
09:24:03
•
果然是懂Windows編程的,LZ既然都能VBA了,改成VB來調用socket或http的控件
-企鵝肥肥-
♂
(46 bytes)
()
08/27/2010 postreply
23:32:04
•
試下在C#下用VSTO
-寂寞遠行客-
♂
(89 bytes)
()
08/27/2010 postreply
21:34:05