using global variables to avoid passing by value
Show older comments
It is often heard that using global variables is a bad practice.
However, personally, I often declare some variable as global to avoid passing its value to a function call.
My concern is, the function is to be called many many times, and if each time the variable which is a big chuck of data is to be passed by value to the function, it would take a lot of time for copying the data.
Therefore, is using global variable really a bad idea in this circumstance?
BTW, the global variable is not changed by the function in my case.
Accepted Answer
More Answers (1)
alelap
on 6 Apr 2024
2 votes
I agree with Jonh D'Errico's answer.
MATLAB uses a so called "copy-on-write" mechanism that is exactly designed to tackle such a circumstance:
Categories
Find more on Performance and Memory in Help Center and File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!