Software optimization
Appearance
Optimization of software is making it use less time or space to do the same thing. It's a very large topic and deserves a very large article, which I don't have time to write at present; some large and important aspects of optimization follow:
- profiling to find critical parts of the software (and then optimizing those)
- using a better algorithm or data structure
- rewriting code in a lower-level language (C or assembly language are common choices)
- memoization or caching
- packed bit-fields
Some more specific tricks follow:
- loop unrolling
- loop combining
- inlining of procedures