Comments: Single Board Computer Benchmarks
Looking for answers to technical questions?
We welcome your comments and suggestions below. However, if you are looking for solutions to technical questions please see our Technical Assistance page.
Something that I feel is being forgotten is that all of these are running different flavors of Linux with different overheads. As such, the amount of time the processor is dedicating to each benchmark is going to be vastly different.
For example, the Edison is running Yocto Linux which is a very minimalist version of Linux. In fact, the reason it is so minimalist that it is very difficult to install any packages or other softwares on it - they assume you will build a new version of Yocto with any packages you need when you need them. It has very few background processes and as a result has a much greater amount of CPU time it can dedicate to running your benchmark code.
Conversely, if we look at the Raspi, it is running a comparatively heavy version of Linux (Raspian in this case). Instead of a super bare-bones experience like Yocto, Raspian is designed to be almost kid-friendly. There is A LOT happening in the background to give you endless tools, super easy USB interfaces (keyboards, mice, wifi/bluetooth dongles, ect), a GUI with two video outputs, external RAM, and endless other things. The end result is that the Raspi has a much greater CPU overhead and much less CPU time it can dedicate to a given test.
When you compare the two without taking this into consideration, it looks like the Edison is the best thing since sliced bread. But, I'd bet you money if you built a version of Yocto for the Raspi (and the other two boards) and ran your tests again, you'd see something completely different. I very highly doubt 400MHz dual core chip can run around 3.5-4 times faster than a 1.5MHz quad core chip (especially in both single and multicore tests). Intel does some great work, don't get me wrong, but so do the folks that design the ARM architectures.
You also have to look at the fact that PHP is an interpreted language and not a compiled one. Different instruction sets and chip architectures are going to define just how well a bit of scripted code will run depending on its ability to do things like pipelining, prefetching instructions, and the like. I would personally love to see some benchmarks done in compiled languages like C/C++ and see how they compare to the PHP benchmarks.
If you've found an issue with this tutorial content, please send us your feedback!
Re linux flavor overheads: they are not really that big for most tests. You can measure them pretty easily -- use 'top' or 'stat' to see CPU usage, 'iostat' to see the default disk usage. While I do not have access to all the systems mentioned in the article, I am going to bet that while idle, the CPU usage on all of the systems is <5%, while disk usage is very close to zero. Which means that yes, Edison is that much faster. It is a pity it is Intel based -- I was hoping that one day we will all forget Intel with its un-verifiable 'trust me I am not backdoored' SMM code.
Disclaimer: some tests my be affected by distribution: the flash may be written to faster when there are fewer files on it (but Edison was not very good at that test). Also, the graphics may, in some extreme cases, be slowed down by OS's window manager -- but this test did not run on Edison.