(Tested) Raspberry Pi 3 vs Raspberry Pi 2: CPU and GPU Benchmarks (+ Burn-in Test)

The new Raspberry Pi 3 board comes with a new processor and higher clock speeds. Let’s benchmark it against the Raspberry Pi 2 board.

Article index:

1 – CPU Benchmark

To benchmark the CPU, I used Sysbench, a cross-platform and multi-threaded benchmark tool. The installation of Sysbench on Raspbian is rather easy:

$ sudo apt-get install sysbench

Now that Sysbench is installed, we can launch the multi-threaded (4 threads) CPU test with:

$ sysbench --test=cpu --cpu-max-prime=20000 --num-threads=4 run

– RPi 3: 120 seconds
– RPi 2: 193 seconds

Raspberry Pi 3 vs Raspberry Pi 2: CPU benchmark - Sysbench

The output of Sysbench for the Raspberry Pi 3 is:

sysbench 0.4.12:  multi-threaded system evaluation benchmark

Running the test with following options:
Number of threads: 4

Doing CPU performance benchmark

Threads started!

Maximum prime number checked in CPU test: 20000

Test execution summary:
    total time:                          120.0822s
    total number of events:              10000
    total time taken by event execution: 480.2085
    per-request statistics:
         min:                                 47.69ms
         avg:                                 48.02ms
         max:                                 83.48ms
         approx.  95 percentile:              48.42ms

Threads fairness:
    events (avg/stddev):           2500.0000/15.30
    execution time (avg/stddev):   120.0521/0.02

2 – GPU Benchmark

For the GPU benchmark, I used the OpenGL 2.1 test that comes with GeeXLab:

GeeXLab OpenGL 2.1 test for Raspberry Pi 3

This test requires the latest Raspbian with OpenGL 2.1 support.

– RPi 3: 192 FPS
– RPi 2: 165 FPS

Raspberry Pi 3 vs Raspberry Pi 2: GPU benchmark - OpenGL 2.1 with GeeXLab

3 – Burn-in Test

The Raspberry Pi 3 comes with a new ARM Cortex A53 CPU clocked at 1200MHz. The GPU, the Videocore IV is overclocked compared to the RPi 2: 400MHz vs 250MHz. So it’s interesting to see the impact of higher clock speeds on CPU/GPU temperature when the Raspberry Pi is stressed by both Sysbench + GeeXLab.

To stress test the RPi, I launched the OpenGL 2.1 test of GeeXLab as well as Sysbench at the same time (with 100000 for the max prime number):

$ sysbench --test=cpu --cpu-max-prime=100000 --num-threads=4 run

The temperature of Raspberry Pi is visualized with a FLIR 4 thermal camera:

Raspberry Pi 2 thermal imaging

The max temperature of the RPi 2 main processor after 5 minutes of stress test was 71.9°C:

Raspberry Pi 2 stress test - thermal imaging

Raspberry Pi 3 thermal imaging

The max temperature of the RPi 3 main processor after 3 minutes of stress test was 92.2°C:

Raspberry Pi 3 stress test - thermal imaging

Why only 3 minutes for the Raspberry Pi 3? Because right after it reached 93°C, the board has frozen.

Ok 93°C is very hot but it’s normal because of the higher clock speed. Let’s add a heatsink on the BCM2837 processor:

Raspberry Pi 3 + heatsink
Raspberry Pi 3 + heatsink stress test - thermal imaging

Ah… the temperature is better: only 70°C after 5 minutes of stress test.

4 – Conclusion

In the CPU benchmark, the RPi 3 is around 40% faster than the RPi 2. In the GPU benchmark, the RPi 3 is around 20% faster.

In sever situations when the CPU (or the GPU + CPU) runs at 100%, the RPi 3 requires a heatsink on the main processor to dissipate the heat produced by higher clock speeds. The RPi is getting bulky…

Raspberry Pi 3 vs Raspberry Pi 2

6 thoughts on “(Tested) Raspberry Pi 3 vs Raspberry Pi 2: CPU and GPU Benchmarks (+ Burn-in Test)”

  1. Mike

    Saw the GeeXLab plot and thought: Wow! Nearly three times as fast! until I saw the X-axis…
    Come on, making readable plots isn’t that hard! It is intended to give a visual impression of the difference but letting it start at an arbitrary place on the X-axis kill this.

    Same with the thermal images, the Pi 3 image looks like the Pi 2 – but the scaling is different…

    You can do better if you try!

  2. shareef

    I am testing my raspberry pi 3 for its peak performance and maximum temperature,
    as mentioned above, i am running both GeeXLab & Sysbench at the same time.
    i am getting 166 fps at max, while the sysbench test taking about 3000 secs, the major thing is i am getting the case (surface) temperature to be 44°c (measured with thermo-couple) while the junction temperature read by command is maximum of 68°c.

    when compared with the temperatures you are getting it is quite half of it. what is the mistake i might be doing? And did you adjust your IR camera for its emiseivity of processor ?

    Pls do reply.


Comments are closed.