In computing, optimization is the process of modifying a system to make some features of it work more efficiently or use fewer resources. For instance, a computer program may be optimized so that it runs faster, or to run with less memory requirements or other resources (see Space-time tradeoff), or to consume less energy. This is a branch of software engineering.
The optimization can have sense at different levels, from the lowest (development of circuits, writing of machine code designed especially for the architecture) up to the highest levels of making of implementation, use or design of algorithms.
The optimization is generally recommended to leave until the end of the process of development, since the premature optimization can introduce new errors (generally more difficult to detect for being of algorithmic nature).
Other websites[change | change source]
- Programming Optimization
- C,C++ optimization
- C optimization tutorial Archived 2008-07-29 at the Wayback Machine
- Software Optimization at Link-time And Run-time Archived 2016-02-14 at the Wayback Machine
- Article "A Plea for Lean Software" by Niklaus Wirth
- Description from the Portland Pattern Repository
- Performance tuning of Computer Networks
- An article describing high-level optimization
- Some examples of optimization problems & algorithms