我正在编写一个 MATLAB m 文件,如下所示:
for k = 1:100
func_a();
func_b();
func_c();
end
其中 func_a、func_b 和 func_c 是三个不同的 m 文件,每个文件大约有 500 行。现在,我想知道 MATLAB 是如何编译这段代码的。将每个函数编译 100 次(这将非常乏味),或者 MATLAB 只编译每个函数一次。
谢谢
我正在编写一个 MATLAB m 文件,如下所示:
for k = 1:100
func_a();
func_b();
func_c();
end
其中 func_a、func_b 和 func_c 是三个不同的 m 文件,每个文件大约有 500 行。现在,我想知道 MATLAB 是如何编译这段代码的。将每个函数编译 100 次(这将非常乏味),或者 MATLAB 只编译每个函数一次。
谢谢
他们启用了 JIT(即时编译),因此每个循环解释一次,运行多次。在这里讨论
要检查差异,您可以运行以下命令:
feature accel off
此命令将禁用 JIT,然后即使在循环中也会解释所有命令。你会看到不同...