Optimization (computer science)
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).
The optimized system may be a single computer program, a collection of computers or even an entire network such as the Internet.
Emerging Trends
change- Optimization for AI and Machine Learning[1]
- Quantum Optimization
- Multi-objective Optimization
References
change- ↑ Tozzi, Chris (30 January 2024). "AI model optimization: How to do it and why it matters". Tech Target. Retrieved 31 January 2024.
Other websites
change- 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