On the art of resource conservation in software systems

Something I recently pondered on was how the software industry has consistently been developing novel mechanisms for efficiently sharing and reusing resources. Memory is probably the most straightforward resource to reuse, but other resources need to be shared as well. Below, I listed some examples that come to my mind – you’ll see they range from simple data structures to complex systems.