which one is faster? defining a variable as a global variable or as an input of function?
3 次查看(过去 30 天)
显示 更早的评论
I want to know which one is faster? defining a variable as a global variable or as an input of function?
0 个评论
采纳的回答
Walter Roberson
2015-8-24
global is slower. The location of the global variable must be searched at execution time when the "global" is encountered. The location of passed parameters is already known.
1 个评论
Diaa
2021-6-24
编辑:Diaa
2021-6-24
Is it faster to define auxiliary variables instead of retrieving values from a parent matrix?
In other words, which one is faster:
a = randn(3,4);
clear b c d g
tic
b = a(3,4);
c = 5*b; d = 10*b; g = 20*b;
toc
clear c d g
tic
c = 5*a(3,4); d = 10*a(3,4); g = 20*a(3,4);
toc
knowing that my R2021a version tells me the second way is faster despite indexing into variable a multiple times?
更多回答(1 个)
David Young
2015-8-23
编辑:David Young
2015-8-23
It is usually a bad idea to use global variables. There are many papers, going back over 40 years or more, explaining why. One example is this chapter. I strongly recommend you avoid them. (Global variables, that is, not the papers.)
It is very unlikely that using a global rather than passing an argument will make a noticeable difference to your execution time. If you really suspect it might, the best way to find out is to do some tests using timeit.
0 个评论
另请参阅
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!