Geek Patrol


Benchmarks

Geekbench uses a number of different benchmarks to measure system performance. Below is a brief description of each benchmark section and the benchmarks included in that section.

Integer Performace

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.

  • Emulate 6502 executes 6502 machine code in a virtual 6502 processor.
  • Blowfish encrypts and decrypts memory using the Blowfish algorithm.
  • bzip2 Compress and bzip2 Decompress compress and decompress data using libbzip2.

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 computes a Mandelbrot set.
  • Dot Product computes the dot product of two vectors.
  • JPEG Compress and JPEG Decompress compress and decompress an image in memory using libjpeg.

Memory Performance

Memory benchmarks measure both memory hardware and memory library performance.

  • 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.
  • Stdlib Write writes a constant value to a block of memory.
  • Stdlib Copy copies values from one block of memory to another.

Stream Performance

Stream benchmarks measure both floating point performance and sustained memory bandwidth. Geekbench’s stream benchmarks are based on the STREAM benchmarks developed John D. McCalpin, and are SIMD-aware. 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 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.