【发布时间】:2012-05-08 09:24:10
【问题描述】:
我可能误解了一些东西..但我希望在编辑器和命令窗口中运行代码是一样的..
我在编辑器中有以下代码
display(' ');
display('script');
fac = @(n) prod(1:n);
n=20;
display(['- use of anonymous function: fac = @(n) prod(1:n); with n = ' num2str(n)]);
tic; fac(n); toc;
display(['- use of build in MatLab function: factorial(); with n = ' num2str(n)]);
tic; factorial(n); toc;
在我运行之前(这叫编译还是执行?)我快速在命令窗口中输入相同的命令。这给了我这个:
所以突然间,编辑器中的阶乘函数在性能方面得到了提升。刚刚发生了什么?
【问题讨论】:
-
绝对是一个有趣的问题。另请参阅命令行中
tic; fac(n); toc;tic; factorial(n); toc;和tic; factorial(n); toc;tic; fac(n); toc;之间的性能差异。函数调用的顺序似乎有所不同...
标签: performance matlab performance-testing