since 1999

 

3 minutes estimated reading time.

CPU Benchmark - Raspberry Pi vs AMD Athlon vs Mac Mini

As a fun little experiment, I ran the same CPU benchmark on a few processors that I have around my home office that come from various generations. The Raspberry Pi was predictably beaten by even the nine year old AMD Athlon processor, but considering its from factor and power usage it is a remarkably versatile little system on a chip.

The benchmark tool used is sysbench (github.com). Each of the three systems are running a different Unix-like operating system. Raspian on the Rasberry Pi, FreeBSD 10.2 on the AMD Athalon, and Mac OS Sierra on the Mac Mini (Late 2014).

On each system, I ran this benchmark command:

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

Systems Compared

System Processor Kernel (uname -a) Year Total Time
Raspberry Pi 2b Linux raspberrypi 4.4.34+ #930 Wed Nov 23 15:12:30 GMT 2016 armv6l GNU/Linux 2014 1341.2237s
Homebuilt Desktop AMD Athlon(tm) 64 Processor 3200+ (2009.30-MHz K8-class CPU) FreeBSD cranberry 10.2-RELEASE-p24 FreeBSD 10.2-RELEASE-p24 #0: Sat Oct 22 01:03:53 UTC 2016 root@amd64-builder.daemonology.net:/usr/obj/usr/src/sys/GENERIC amd64 2007 117.7166s
Mac Mini (Late 2014) 2.6 GHz Intel Core i5 Darwin Io.local 16.1.0 Darwin Kernel Version 16.1.0: Thu Oct 13 21:26:57 PDT 2016; root:xnu-3789.21.3~60/RELEASE_X86_64 x86_64 2014 8.8698s

Results

Raspberry Pi 2b (2014)

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!
Done.

Maximum prime number checked in CPU test: 20000


Test execution summary:
    total time:                          1341.2237s
    total number of events:              10000
    total time taken by event execution: 5364.5309
    per-request statistics:
         min:                                479.16ms
         avg:                                536.45ms
         max:                               1195.34ms
         approx.  95 percentile:             636.72ms

Threads fairness:
    events (avg/stddev):           2500.0000/0.00
    execution time (avg/stddev):   1341.1327/0.04

MSI-7309 v1 Motherboard with AMD Athlon(tm) 64 Processor 3200+ (2009.30-MHz K8-class CPU)

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!
Done.

Maximum prime number checked in CPU test: 20000


Test execution summary:
    total time:                          117.7166s
    total number of events:              10000
    total time taken by event execution: 470.7552
    per-request statistics:
         min:                                 11.74ms
         avg:                                 47.08ms
         max:                                248.07ms
         approx.  95 percentile:             107.97ms

Threads fairness:
    events (avg/stddev):           2500.0000/28.22
    execution time (avg/stddev):   117.6888/0.02

Mac Mini (Late 2014) with a 2.6 GHz Intel Core i5

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!
Done.

Maximum prime number checked in CPU test: 20000


Test execution summary:
    total time:                          8.8698s
    total number of events:              10000
    total time taken by event execution: 35.4367
    per-request statistics:
         min:                                  2.92ms
         avg:                                  3.54ms
         max:                                 14.06ms
         approx.  95 percentile:               3.86ms

Threads fairness:
    events (avg/stddev):           2500.0000/6.71
    execution time (avg/stddev):   8.8592/0.00

How to install sysbench

Installing sysbench on each of the systems was easy as its in the package repos. On the Mac OS X system, I use homebrew (brew.sh).

Conclusion

I am surprised at how well the old AMD Athlon system performed even given that it is a single core processor. I may keep it around for some test bed work after all. The Raspberry Pi is a great little computer that I love playing with, but its processor - even with multiple cores - has its limitations as would be expected for such an inexpensive little system.