
84 ◾ Software Essentials
3.4.1 Optimization
Optimization covers hardware and soware changes that yield faster run-
ning code and/or code that uses less space. Signicant advances in com-
puting are due to hardware optimizations. Fast processing is supported
by special registers, multiple levels of on-chip caches, and continued
breakthroughs in supercomputing. Soware optimizations include the
customization of algorithms and data structures, data compression, so-
ware design, memory management, and automatic code renement via
compilation.
Most soware is developed without much attention paid to hardware.
As noted in Chapter 2, this attit ...