TEST IT YOURSELF
Time complexity and energy efficiency of algorithms are often closely connected. To develop
green software the most efficient algorithms should be used.
Navigate directly to the next pages to test time complexity of several algorithms.
Below you can find some general information about algorithms and green computing, and how to
use the applications on this site.

HISTORY
The word 'algorithm' is derived from the name of the 9th-century Persian mathematician Muhammad ibn Musa al-Khwarizmi. He is also known as the author of lim al-jabr wa l-muqābala. 'Al-jabrin' refers to the operation of moving a term from one side of an equation to the other, and it entered the Latin language as the word 'algebra'.
Since antiquity, step-by-step procedures for solving mathematical problems have been attested. In our digitized world algorithms are ubiquitous. Under the surface of contemporary society, algorithms are determining our lives. They might be helpful, but also intrusive. In any case, they are energy consuming.
DATA DECARBONISATION
Accounting for about 2 percent of total greenhouse gas emissions, data centres have the same carbon footprint as the aviation industry. By 2040, storing digital data is set to create 14 percent of the world's emissions. Because data isn't physical, we are often unaware of its stark environmental impact.
Many of the sustainability initiatives of data centers are based on using renewable energy for cooling systems to reduce power consumption. A lot of researchers are engaged in optimizing the energy efficiency of the hardware components. However, the software itself also has a significant effect on the amount of electricity being consumed. Algorithmic energy efficiency is the key to green software development.
Software researchers conduct studies measuring the energy consumption of different methods and algorithms varying experimental environment. The ever growing number of primary studies are having at times varying conclusions. In some cases experimental results falsify the generalization that time and space complexity can be used as a measure for energy efficiency. However, many other empirical studies and meta-analytical comparisons suggest energy consumption of an algorithm does depend mainly on time and space complexity.
SORTING ALGORITHMS & TIME EFFICIENCY
Sorting algorithms are fundamental to almost every information system software. They are not only
used directly in many applications, but also very
often implicitly by other algorithms. Selecting an energy-efficient sorting algorithm is crucial in
helping to reduce loss in terms of resources. Energy consumption and efficiency are part of the cornerstone
of
green software engineering.
Big O notation is used to describe the complexity of an algorithm. It is a measure for the number
of operations an algorithm wil make in a worst case. Some emperical studies conclude that the energy
consumption
of sorting algorithms depends mainly on time and space complexity of that algorithm, which means
algorithms that needs O(n2) comparisons require more energy than algorithms
with O(n log n) comparisons.
LITTLE WARNING ON TESTING
On this site you can test some of these algorithms yourself and get an idea of their efficiency. The program
will measure
the running time of the algorithm. Note that there are many factors that influence the time an algorithm
takes
to run. For example, it will
be influenced by the other processes your computer is handling. Try an algorithm several times to estimate
the
deviations, caused by these influences.
The bigger the data, the clearer the differences between the algorithms become. However, trying slow
algorithms with arrays of 100,000 elements or more can
cause your browser to freeze for some time.
Reading and understandig code is the best way to evaluate the efficiency of an algorithm. You can check the
code of the algorithms by clicking
on the black thumbnails. The example of the two 'same values algorithms' makes clear that one algorithm can
be
more efficient than an other
in only one case, but that this case will be decisive.