You are on page 1of 6

General

People are asking: "Can the Raspberry Pi 2 replace your desktop


computer?" Well, it surely depends on the way you use your desktop
computer. Basically, if you are a gamer, you won't be satisfied with this
little Pi.
To give practical results, we will benchmark the Raspberry Pi 2 and
compare it to the other computer architectures, including not only
previous model RPi but also architectures such as Intel Pentium III or Core
i7.
In Part 1, we are benchmarking the CPU, memory and bus. In the following
days, we will publish Part 2, which will cover Java, OpenGL, Lan/Wifi and
Multithreading benchmarks.
The following benchmarks and other system's benchmark results are taken
from Roy Longbottom's website. In his website, there are numerous free
benchmarks and reliability testing programs for processors, caches,
memory, buses, disks, flash drives, graphics, local area networks and
Internet.
Raspberry Pi 2 System

It has a 900 MHz quad-core ARM Cortex-A7 CPU, 1 GB SDRAM and


available connections like HDMI, 4 x USB, 40 pin GPIO and MicroSD card.
The operating system we are using for these tests are Raspbian, based on
Linux Debian.
CPU is not overclocked.
Whetstone Benchmark

The Whetstone Benchmark was the first general purpose benchmark that
set industry standards of performance, particularly for minicomputers, and
introduced in 1972. The benchmark produced speed ratings in terms of
Thousands of Whetstone Instructions Per Second (KWIPS). In 1978, self
timing versions (by yours truly) produced speed ratings, for each of the
eight test procedures, in MOPS (Millions of Operations Per Second) or
MFLOPS (Millions of Floating Point Operations Per Second), with an overall
rating in MWIPS, mainly dependent on floating point speed.

Results below are for Raspberry Pi 2 running at 900 MHz. For comparison
purposes, there are results of different Android based ARM CPUs and Intel
processors running Linux.
MWIPS : Millions of Whetstone Instructions Per Second
MFLOPS : Millions of Floating Point Operations Per Second

Dhrystone 2 Benchmark

The Dhrystone "C" benchmark provides a measure of integer performance


(no floating point instructions). It became the key standard benchmark
from 1984, with the growth of Unix systems. The first version was
produced by Reinhold P. Weicker in ADA and translated to "C" by Rick
Richardson. Two versions are available - Dhrystone versions 1.1 and 2.1.
The second version, used here, was produced to avoid over-optimisation
problems encountered with version 1, but some is still possible. Speed was
originally measured in Dhrystones per second. This was later changed to
VAX MIPS by dividing Dhrystones per second by 1757, the DEC VAX 11/780
result, the latter being regarded as the first 1 MIPS minicomputer.

VAX MIPS rating is the important value for us. Below is a similar
combination of results as for the Whetstone Benchmark.
Linpack Benchmark

The Linpack Benchmark was produced from the "LINPACK" package of


linear algebra routines. It became the primary benchmark for scientific
applications, particularly under Unix, from the mid 1980's, with a slant
towards supercomputer performance. The original double precision C
version, used here, operates on 100x100 matrices. Performance is
governed by an inner loop in function daxpy() with a linked triad dy[i] =
dy[i] + da * dx[i], and is measured in Millions of Floating Point Operations
Per Second (MFLOPS).

Livermore Loops Benchmark

This original main benchmark for supercomputers was first introduced in


1970, initially comprising 14 kernels of numerical application, written in
Fortran. This was increased to 24 kernels in the 1980s. Performance
measurements are in terms of Millions of Floating Point Operations Per
Second or MFLOPS. The kernels are executed three times with different
double precision data array sizes.

Memory Speed Benchmark

MemSpeed benchmark measures data reading speeds in MegaBytes per


second carrying out calculations on arrays of cache and RAM data,
normally sized 2 x 4 KB to 2 x 4 MB. Calculations are as shown in the
results headings. For the first two double precision tests, speed in Million
Floating Point Operations Per Second (MFLOPS) can be calculated by
dividing MB/second by 8 and 16. For single precision divide by 4 and 8. A
disassembly showed that Millions of [Assembler] Instructions Per Second
(MIPS), for the first two integer tests, can be calculated by multiplying
MB/second by 0.78 and 0.59. For the three copy tests, MIPS are MB/second
times 0.344 for double precision and 0.688 for the other two.

Bus Speed Benchmark

This benchmark is designed to identify reading data in bursts over buses.


The program starts by reading a word (4 bytes) with an address increment
of 32 words (128 bytes) before reading another word. The increment is
reduced by half on successive tests, until all data is read.

You might also like