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).
- Raspian:
sudo apt-get install sysbench
- FreeBSD:
sudo pkg install sysbench
- Mac OS X:
brew install sysbench
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.