標題:
[發問]
有關作業系統與程式執行效率的差距
[打印本頁]
作者:
小俠客
時間:
2017-3-21 09:38
標題:
有關作業系統與程式執行效率的差距
有關作業系統與程式執行效率的差距
大家好!小弟關於VBA執行效率的問題想向大家請教。我發現相同程式在不同的環境的執行速度有很大的差異,所以想知道是不是設定的問題。
因為程式已經很複雜,暫時無法放上來,但基本流程是:
1. 運用ADODB連結一Access資料庫(一人用),
2. 再用SQL抽取資料庫中4個TABLE的資料,
3. 放在EXCEL兩張SHEETS中,
4. 然後LOOP大約16-18次(分開抽取不同時段資料),
5. 再到網站抽取最新資料
6. 整理格式
7. 完成
整個VBA是在公司機的WIN 7 企業版 + OFFICE 2010 中文版寫的,並儲存為.XLSM格式。
A) 在公司機(Intel Core i5-4570S @ 2.90GHz、8GB RAM、WIN 7 企業版 + OFFICE 2010 中文版)中,扣除抽取網站資料遲緩的因素,每次執行大約要1.5秒至2秒
B) 在家中的9年前的舊筆電(FUJITSU LIFEBOOK LH530,INTEL I5 Core-Duo M460 2.5GHz、6GB RAM、WIN 7 直接保留舊資料下升級WIN 10+OFFICE 2010 中文版) ,扣除抽取網站資料遲緩的因素,每次執行大約要2秒至2.5秒
C) 最近在大賣場買了一部新筆電ASUS K401LB (Intel i5 5200U 2.2GHz、12GB RAM、WIN 10+OFFICE 2013中文版),在效能模式下,每次跑程式大約要6-10秒。
三個測試均是使用相同的檔案(EXCEL+ACCESS檔)
我沒想到最新的機種竟然會最慢,我明白這機的CPU不是很強,但應該比我8年前的舊筆電強吧!而且我這程式並沒有包含很多的運算,基本上只是搬運工,把ACCESS的資料放到EXCEL中,用不到很多CPU的資源,而且它的RAM是最多,實在不明白原因。
請問是不是EXCEL 2013的問題?我在網上找到有朋友提議可以「停用硬體圖形加速」,但效果不大。而且在EXCEL 2013中用鍵盤方向鍵移動SHEET中的儲存格是有一點LAG的感覺。請問是不是OFFICE 2013的問題?有辦法解決嗎?轉用OFFICE 2016會好一點嗎?謝謝大家。
作者:
joey0415
時間:
2017-3-21 22:14
如果能用sql做出你要的加減乘除與組合,排列等,請用sql來做
若叫出來後,能放進陣列計算的,請放進陣列計算
最後才貼在表格上,在表格上計算
很多都是貼上基本語法的sql在表格上計算,量少沒差,量大就慢了些
以上是本人的小小經驗
作者:
小俠客
時間:
2017-3-22 15:22
如果能用sql做出你要的加減乘除與組合,排列等,請用sql來做
若叫出來後,能放進陣列計算的,請放進陣列計 ...
joey0415 發表於 2017-3-21 22:14
謝謝你的意見。
但我的情況是:在不同的環境下跑相同的程式,EXCEL 2013的運行速度明顯比EXCEL 2010慢了許多,不知道是否EXCEL 2013有特別的設定才能正常運行?還是EXCEL 2010寫的程式不能完全在EXCEL 2013的環境中運行?
我曾試用陣列,但在陣列中計算比較麻煩,結果就放棄了.....
歡迎光臨 麻辣家族討論版版 (http://forum.twbts.com/)