The document provides principles and techniques for writing efficient software. It begins by defining efficiency as doing things using as few resources as possible, such as memory and execution time. An example is given of optimizing a memory fill routine through several iterations. Each version is measured to analyze performance improvements. The biggest gains came from using word access and loop unrolling techniques. Later versions increased complexity significantly. The document concludes with several principles for writing efficient software, such as understanding the system, measuring performance, and not optimizing prematurely.