Geekbench 2 Benchmarks
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 Performance
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 Performance
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 Performance
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 Performance
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.