Penguin
Note: You are viewing an old revision of this page. View the current version.

The process of making things better.

Commonly programs are optimised for RunTime efficiency, that is, so they run as fast as possible, but a number of other things may be optimisation targets can also be used, including:

  1. Object code size - used mainly for frequently downloaded Java/JavaScript and to improve cache performance.
  2. Threading capability - used to enable a single task to be spread efficiently across multiple CPUs.
  3. Compilation time - used in scripts when perceived responsiveness is vital.
  4. Flexibility - the time to design/code new features.
  5. Portability - run on as many platforms as possible (requires avoiding platform-specific optimisation techniques).

In practise non-trivial projects often find themselves balancing these.