Jump to content

Software optimization: Difference between revisions

From Wikipedia, the free encyclopedia
Content deleted Content added
No edit summary
 
mNo edit summary
Line 3: Line 3:
* profiling to find critical parts of the software (and then optimizing those)
* profiling to find critical parts of the software (and then optimizing those)
* using a better [[algorithm]] or [[data structure]]
* using a better [[algorithm]] or [[data structure]]
* rewriting code in a lower-level language ([[C programming language|C]] or assembly language are common choices)
* rewriting code in a lower-level language ([[C programming language|C]] or [[assembly language]] are common choices)
* memoization or caching
* memoization or caching
* packed bit-fields
* packed bit-fields

Revision as of 19:59, 25 October 2001

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