5 Space Performance
The biggest difference between time and space is that you can’t reuse time.
— Merrick Furst
Let’s begin this chapter with a (rhetorical) question: In the days of fractional GB main memory sizes, why is it necessary to devote a whole chapter examining a program’s space requirements? First of all, although our workstations and servers may indeed be blessed with memory capacities that make some storage-conservation strategies sound quaint, they are not the majority of computing devices. In some embedded applications (think of a garden watering automation controller), 1K of memory can be a luxury. In addition, as the size of the memory increases, so too does the data size of the problems we have to process. Consider the domain ...