大家好,
我的任務之一是進行可靠性分析,其中我使用 X 的 Fit Life。
在這樣做時,我有兩個輸出的 JSL 腳本完全一樣的結果但是有不同的編碼方法.
第一個簡單地將代碼級聯在一起。 偽代碼如下所示:
// Plot Fit Life by X #1
Fit Life by X(...);
// Plot Fit Life by X #2
Fit Life by X(...);
// Plot Fit Life by X #3
Fit Life by X(...);
// And so on
第二個有一個函數,我們稱它為不同的 X、Y 和審查列重複。 偽代碼如下所示:
// Function that contains Fit Life by X
reli_analysis = function(
{input parameters},
{local variables},
Fit Life by X(...);
);
// Call the above function multiple times
reli_analysis(input parameters set #1);
reli_analysis(input parameters set #2);
reli_analysis(input parameters set #3);
// And so on
我的經驗是,第二個代碼比第一個快得多,快了將近 10 倍。 (我的真實代碼和數據的掛鐘時間為 Code #2 ~17 秒,而 Code #1 為~170 秒)
我有以下三個問題:
1.為什麼調用函數比顯式寫出所有代碼快得多?
2. 為了確保我的代碼具有最有效的時間和/或空間複雜度,我通常應該採取哪些其他做法/技巧?
3、不知道JSL有沒有內置CPU時間、掛鐘時間等計時功能? 我使用 today() 函數為代碼執行計時。 但它涉及大量的手動編碼。 此外,根據是否有其他任務正在執行,以這種方式計算的經過時間總是略有不同。
非常感謝你的幫助。
JMP 版本:17.0