大家好,
我的任务之一是进行可靠性分析,其中我使用 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