When you read from a global variable, LabVIEW creates a copy of the data stored in that global variable.

Global variables copy data because global variables are not part of the dataflow paradigm in LabVIEW. Copying data is how a global variable makes the data available to other VIs.

When you manipulate large arrays and strings, the time and memory required to manipulate global variables can be considerable. Manipulating global variables is especially inefficient when dealing with arrays because if you modify only a single array element, LabVIEW stores and modifies the entire array. If you read from the global variable in several places in an application, you create several memory buffers, which is inefficient and slows performance.