Conclusions
- As architectures diversify and become more complicated, optimization gets harder
- Since compilers often do not generate sufficiently optimized code, it is incumbent upon programmers to optimize critical code by hand, usually in assembly
- Optimization requires strong knowledge of the
processor, the algorithm, and the application
- Be aware of trade-offs between speed, memory
usage, and power consumption