• We can use data flow graphs to model straight-line code and CDFGs to model complete programs.
• Compilers perform numerous of tasks, such as generating control flow, assigning variables to registers, creating procedure linkages, and so on.
• Remember the performance optimization equation: execution time = program path + instruction timing
• Memory and cache optimizations are very important to performance optimization.
• Optimizing for power consumption often goes hand in hand with performance optimization.
• Optimizing programs for size is possible, but don’t expect miracles.
• Programs can be tested as black boxes (without knowing the code) or as clear boxes (by examining the code structure).