# Decrease algorithmic complexity

### From Green software

Although different algorithms might accomplish functionally the same thing, their performance can differ significantly. The amount of messages that are sent and/or the amount of time spent computing can be from a different order of magnitude. The performance of an algorithm can be based on the nature of the algorithm or external factors, such as the data or computing nodes involved.

A trade-off can usually be made based on best-case, worst-case and average-case complexity relative to the situation at hand.

A common way to express algorithmic complexity is the big O notation.

Computational complexity theory is the field of theoretical computer science that focuses on algorithmic complexity.

## Contents |

## Drawbacks

Proving that an algorithm is the most efficient solution possible is often difficult, if at all possible. Unfortunately this can mean that trying to improve an algorithm, or believe that an algorithm is optimized can be based on false assumptions.

## Implementations

## Cases

<project van Edwin van uren naar minuten?>

## See Also

The Green Framework

http://en.wikipedia.org/wiki/Computational_complexity_theory

Big O Notation

## Sources

This best practice was recognized as such by IT professionals, described in *Energy efficient software*.

This best practice is mentioned in:

Petter Larsson. 2008. Energy-Efficient Software Guidelines. White Paper for the Intel Software Solutions Group.