In the previous parts (1, 2) we talked about globals as trees. In this article, we will look at them as sparse arrays.
A sparse array - is a type of array where most values assume an identical value.
In practice, you will often see sparse arrays so huge that there is no point in occupying memory with identical elements. Therefore, it makes sense to organize sparse arrays in such a way that memory is not wasted on storing duplicate values.
In some programming languages, sparse arrays are part of the language - for example, in J, MATLAB. In other languages, there are special libraries that let you use them. For C++, those would be Eigen and the like.
Globals are good candidates for implementing sparse arrays for the following reasons: