奇狐社區論壇
在這個頁面顯示本主題全部的 2 個文章

奇狐社區論壇 (http://www.chiefox.com.tw/bbs/index.php)
- 問題交流 (http://www.chiefox.com.tw/bbs/forumdisplay.php?forumid=28)
-- 執行的速度 (http://www.chiefox.com.tw/bbs/showthread.php?threadid=6367)


由 alpha 在 2006-11-07 16:27 發表:

執行的速度

{ 副程式: AAAA }

input : ch ( 1, 1, 4 ) ;

if ch = 1 then begin
value := C ;
end else if ch = 2 then begin
value := H ;
end else if ch = 3 then begin
value := L ;
end else if ch = 4 then begin
value := O ;
end;


out: value ;


{ 副程式: BBBB }

C1 :=C;
H1 :=H;
L1 := L;
O1 :=O;




{ 主程式 }

"AAAA.out"(2) ;

"BBBB.H1" ;



// 如果執行非常多次
// 使用 "AAAA.out"(2) ; 的速度會比 "BBBB.H1" 快嗎 ????


由 cgjj 在 2006-11-07 16:39 發表:

回覆: 執行的速度

引用:
最初由 alpha 發表
// 如果執行非常多次
// 使用 "AAAA.out"(2) ; 的速度會比 "BBBB.H1" 快嗎 ???? [/B]


以此簡單例子來說差異不大

沒有必要就不要使用子公式
子公式每Call一次
子公式中所有的程式均會被跑到

若無法避免, 一定要用副程式
建議先於副程式中盡可能將結果計算完成
以減少呼叫子公式的次數
必要時拆散
避免浪費資源在重複的計算


全部時間均為台灣時間, 現在時間為20:42
在這個頁面顯示本主題全部的 2 個文章


Powered by: vBulletin Version 2.3.0 - Copyright©2000-, Jelsoft Enterprises Limited.

簡愛洋行 製作 Copyright 2003-. All Rights Reserved.