Geekbench 2
uses a number of different benchmarks to measure performance. Below
is a brief description of each benchmark section and the benchmarks
included in that section.
Integer benchmarks measure integer performance by performing a
variety of processor-intensive tasks that make heavy use of integer
operations. None of the integer benchmarks perform any file I/O in
order to isolate the work done to just the processor and the memory
subsystem.
- Blowfish encrypts and decrypts memory using the Blowfish
algorithm.
- bzip2 Compress and bzip2 Decompress compress and decompress a
text file in memory using libbzip2.
- Image Compress and Image Decompress compress and decompress an
image in memory using libjpeg.
- Lua executes a script written in the Lua
Programming Language. The Lua script is a prime number sieve
that finds all prime numbers below 200,000.
Floating point benchmarks measure floating point performance by
performing a variety of processor-intensive tasks that make heavy
use of floating-point operations. None of the floating point
benchmarks perform any file I/O in order to isolate the work done
to just the processor and the memory subsystem.
- Mandelbrot renders the Mandelbrot
set.
- Dot Product computes the dot product of two vectors.
- LU Decomposition computes the LU
decomposition of a 128x128 matrix.
- Primality Test performs the first few iterations of the
Lucas-Lehmer
test on a particular Mersenne
number to determine whether or not it is prime.
- Sharpen Image and Blur Image apply a convolution
filter to an image in memory. These filters are similar to the
filters found in graphics editors like Adobe
Photoshop.
Memory benchmarks measure not only the performance of the
underlying memory hardware, but also the performance of the
functions provided by the operating system used to manipulate
memory.
- Read Sequential loads values from memory into registers.
- Write Sequential stores values from registers into memory.
- Stdlib Allocate allocates and deallocates blocks of memory of
varying sizes using functions from the C Standard
Library.
- Stdlib Write writes a constant value to a block of memory using
functions from the C Standard
Library.
- Stdlib Copy copies values from one block of memory to another
using functions from the C Standard
Library.
Stream benchmarks measure both floating point performance and
sustained memory bandwidth. Geekbench 2 uses benchmarks based on
the STREAM
benchmarks developed John D. McCalpin. None of the stream
benchmarks perform any file I/O in order to isolate the work done
to just the processor and the memory subsystem.
- Stream Copy computes a(i) = b(i), where a and a b are
arrays.
- Stream Scale computes a(i) = q * b(i), where a and b are
arrays, and q is a constant.
- Stream Add computes a(i) = b(i) + c(i), where a, b, and c are
arrays.
- Stream Triad computes a(i) = b(i) + q * c(i), where a, b, and c
are arrays, and q is a constant.