![]() |
在這個頁面顯示本主題全部的 10 個文章 |
奇狐社區論壇 (http://www.chiefox.com.tw/bbs/index.php)
- 問題交流 (http://www.chiefox.com.tw/bbs/forumdisplay.php?forumid=28)
-- 引用 vs 運算速度 (http://www.chiefox.com.tw/bbs/showthread.php?threadid=3430)
引用 vs 運算速度
目前已知
dll (A) 速度快於 > 奇狐內建循環 (B) 速度快於 > VB(s) (C)
請問
引用函數 位於 A / B / C 的哪個位置
這樣的說法不認同
這沒有絕對性, 要看算什麼和怎麼算
1.引用 DLL
基本上只有內建函數或VB做不到時才建議使用
或者程序非常複雜或做特殊用途時才建議使用
若只是一個短短程式就要呼叫DLL
可能DLL來回的時間可能不符合效益(可能變的較慢)
DLL缺點: 不易維護和debug、也不易移交User
其實絕大部份的需求用內建函數和VBS組合已足夠用了
2.使用迴圈
奇狐內建的迴圈與VBS的迴圈兩者速度差不多
一般來說會因為 VBS 處理較彈性, 而有更好的做法使程式跑的更快
簡易的排序而言可用奇狐 4.0 內建的來做(只能單層次排序)
VBS若採用高等的快速排序法速度也會非常快(可寫為多層次排序)
何謂多層次排序:
以 "價+量" 這樣的方法來排序即是多層次排序
以價為優先排序, 排序後再依量的大小接著排
3.引用函數
非必要時不建議引用
若需傳回多組變數建議分多個子公式引用
這樣才不會浪費 CPU
舉例:
有一個子公式, 裡面有輸出三個變數
這三個變數都需經過一段複雜的程序才算出來
因奇狐目前引用子公式一次只能傳回一個變數
(已建議博庭未來改善)
所以當母公式需要該子公式的三個變數時
需引用三次該子公式
每被引用一次, 該子公式就會被跑一次
會造成重複運算浪費 CPU 的時間
一知半解的我學習ing
並
多謝版大詳細解說
換個角度請教版大
如果這邊您說的子公式(A) 直接放到母公式(B)中
和引用子公式的母公式(B)做運算速度的比較
請問
前者快 還是 後者快
好像是前者快???
__________________
至誠能勝天下至偽
至拙能勝天下至巧
速度問題,參考Cgjj兄的"減少計算K線總數,增加公式運算速度",應可解決!
__________________
~~~~~~~~~~~~~~~~~
敬畏市場 順勢而為
隨波逐流 乘風破浪
~~~~~~~~~~~~~~~~~
謝謝您 這點我知
提出這問題
一個觀念的澄清吧
__________________
至誠能勝天下至偽
至拙能勝天下至巧
引用:
最初由 peter109 發表
換個角度請教版大
如果這邊您說的子公式(A) 直接放到母公式(B)中
和引用子公式的母公式(B)做運算速度的比較
請問
前者快 還是 後者快
好像是前者快???
表達方式 VS 運算速度
再問
表達一
Y:MA(C,5)-MA(C,10);
T:Y/3;
....
表達二
T: (MA(C,5)-MA(C,10))/3
哪種速度快
嘗試作業量價關係 因為類似用法出現次數太多 發現公式會很長 所以有此一問
__________________
至誠能勝天下至偽
至拙能勝天下至巧
回覆: 表達方式 VS 運算速度
引用:
最初由 peter109 發表
再問
表達一
Y:MA(C,5)-MA(C,10);
T:Y/3;
....
表達二
T: (MA(C,5)-MA(C,10))/3
哪種速度快
嘗試作業量價關係 因為類似用法出現次數太多 發現公式會很長 所以有此一問
平時奇狐大約用70MB RAM
這個量價關係公式 才作業到1/4 已經佔據158MB
筆記型電腦不勝負荷 速度慢的可憐 看來作業方式確實需要好好的改改
多謝您的指導
__________________
至誠能勝天下至偽
至拙能勝天下至巧
全部時間均為台灣時間, 現在時間為02:38 | 在這個頁面顯示本主題全部的 10 個文章 |
Powered by: vBulletin Version 2.3.0 - Copyright©2000-, Jelsoft Enterprises Limited.
簡愛洋行 製作 Copyright 2003-. All Rights Reserved.