[VBA ] VBA和Java的執行速度?

看板Visual_Basic作者 (行動 !!)時間15年前 (2010/06/16 21:47), 編輯推噓1(107)
留言8則, 5人參與, 最新討論串1/1
之前用VBA寫了一個用來分割字串的程式,把好幾千筆的字串先分割 再一個個欄位去比較重覆出現的次數並記錄~ 整個過程跑完花了大約一個多小時... 之後我發現Java有針對Excel的Library可以使用... 於是我寫了一個架構差不多的程式來跑跑看.. 讓我好奇的是...整個過程不到幾分鐘就結束了.. 當然它們的Output結果一模一樣~ 我想請問會是什麼原因造成這樣的差異? Thx~ -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 140.113.72.151

06/16 21:51, , 1F
演算法吧 也有可能是他本身效率就這樣
06/16 21:51, 1F

06/16 23:56, , 2F
vba是interpreter, 慢是正常的,你要是跑monte carlo更明
06/16 23:56, 2F

06/16 23:56, , 3F
06/16 23:56, 3F

06/17 01:24, , 4F
Java也有用到interpreter,不過會先用compiler轉成bytecode
06/17 01:24, 4F

06/17 01:24, , 5F
這會不會就是主要的差異~
06/17 01:24, 5F

06/17 11:34, , 6F
把Excel的自動計算關掉..顯示關掉..(然後把code po上來..XD)
06/17 11:34, 6F

06/20 08:50, , 7F
VBA=>1. Application.ScreenUpdating = False
06/20 08:50, 7F

06/20 08:52, , 8F
2. 直接在Array上運算,我的淺見~參考參考~~
06/20 08:52, 8F
文章代碼(AID): #1C6DNq81 (Visual_Basic)