Ian MORRISON (linuxium) has tested Linux with several mini PCs powered by different processors. The main point of his tests was to evaluate the performance difference between running Ubuntu 12.04 natively, or in a chroot in Android using tools such as Complete Linux Installer. I previously tried Linux on Android in ODROID-X, and found the applications start time when running from an low-end SD card pretty dismal, and the graphics performance poor. Ian had a different approach, and decided to use a subset of Phoronix Suite benchmarks to compare different hardware / software combination and posted the results in “mini PCs” G+ community. There’s a lot of data, and analyzing the results is not really straightforward without spending some time looking at the data. In this post, I’ll explain how the tests have been conducted, explain the results and try to draw a conclusion.
Mini PCs and other Hardware Under Test
Ian used four mini PC hardware running Ubuntu 12.04 natively or in a chroot installed with Complete Linux Installer, except for RK3066 mini PC where Ubuntu 12.10 (PicUntu) was run natively. Each time, LXDE desktop environment was setup, and Ubuntu was installed in Sandisk Extreme Pro 8GB (micro) SD cards.
mini PC | Processor | System Memory |
MK802+ | AllWinner A10 (Cortex A8 @ 1.0 GHz) | 1 GB RAM |
UG802 | Rockchip RK3066 (2x Cortex A9 @ 1.6GHz) | 1 GB RAM |
iStick A200 | Rockchip RK3066 (2x Cortex A9 @ 1.6 GHz) | 2 GB RAM |
Zealz GK802 | Freescale I.MX6 (4x Cortex A9 @ 1.2 GHz) | 1 GB RAM |
The 3 most common SoC used in mini PCs are represented with AllWinner A10, Rockchip RK3066 and Freescale i.MX6, but he also tested some extra hardware running either Ubuntu in Android, or natively:
- MK803 mini PC (AMLogic AML8726-M3 Cortex A9) running Ubuntu 12.04 in Android (Complete Linux Installer)
- Asus Eed Pad Transformer TF101 tablet (Tegra 2 – 2x Cortex A9) running Ubuntu 12.04 in Android (Complete Linux Installer)
- Hardkernel ODROID-U2 (Exynos 4412 Prime – 4x Cortex A9) running Ubuntu 12.04 natively in its eMMC module
- Google New Chromebook (Exynos 5250 – 2x Cortex A15) running ChrUbuntu 12.04
- Intel Core i7-950 PC running Wubi’s Ubuntu 12.04
Selected Benchmarks from Phoronix Test Suite
Phoronix Test Suite is a testing and benchmarking platform written in PHP5 language that can run in Linux, Windows, Mac OS X, Solaris and BSD operating systems on any target which supports php. Since Ubuntu in Android would definitely have poor performance, Ian only considered tests that may be used in a server configuration, to evaluate CPU, RAM and I/O performance:
- CacheBench – Memory and cache bandwidth performance benchmark.
- CLOMP – C version of the Livermore OpenMP benchmark developed to measure OpenMP overheads and other performance impacts due to threading.
- 7-Zip compression – Uses p7zip integrated benchmark feature.
- dcraw – This test measures the time it takes to convert several high-resolution RAW NEF image files to PPM image format using dcraw.
- LAME MP3 encoding – This test measures the time required to encode a WAV file to MP3 format.
- FFmpeg – Audio/video encoding performance benchmark.
- OpenSSL – Measures RSA 4096-bit performance of OpenSSL.
- PHPBench – Benchmark suite for PHP.
- PyBench – Python benchmark suite.
- SQLite – This test measures the time to perform a pre-defined number of insertions on an indexed database
- Stream – This benchmark tests the system memory (RAM) performance.
- TSCP – Performance benchmark built-in Tom Kerrigan’s Simple Chess Program.
- Unpacking the Linux kernel – This test measures the time it takes to extract the .tar.bz2 Linux kernel package.
- GMPbench – Test of the GMP 5.0.3 math library
Results and Conclusion
The full results are available on openbenchmarking.org, but the way they are presented might be a little confusing because for some tests, higher is better, whereas for others, lower is better. So I’ve added an up arrow icon on the left of the table if higher is better, and a down arrow if it’s the opposite. I’ve also added Android and Ubuntu logos, depending on whether Ubuntu is respectively run in a chroot or natively.
Let’s take care of the anomalies first. You’ll notice GMPbench results are not available for all devices. That’s because it refused to run in some cases. SQLite test results are up to 10x faster in Ubuntu in a chroot (in Android) than in Ubuntu running natively. MK802 is even reported to be about as fast as Intel PC used as reference. Clearly something is wrong when running this test in a chroot, and SQLite results should be discarded.
For a given hardware, there’s usually about a 5 to 20% performance hit when running Ubuntu in Android. The exception is GK802 where running Ubuntu in Android is consistently faster than running it natively. However, Ian used Geekbuying Ubuntu beta image which is not optimized, and it’s possible the CPU in Ubuntu was clocked at a lower frequency than in Android.
MK802+ (AllWinner A10) and MK803 (AMLogic AML8726) share the lowest score, except for SQLite which runs the slowest on the Chromebook, and CLOMP on ODROID-U2. UG802 (Rockchip RK3066) and GK802 (Freescale i.MX6) has similar performance with an edge for Rockchip RK3066 devices, except for test where all 4-core of i.MX6 can be used such as 7-Zip. Also note that the extra 2GB RAM in iStick A200 does not provide significant performance improvement for most test against the 1GB RAM used in UG802. The extra RAM should only be useful when multitasking.
To conclude, if you want to run Linux on your mini PC, you should always install Ubuntu natively to get the most performance, but if you have no choice (i.e. Linux not currently supported) or want to run both Android and Linux simultaneously, you can always run server applications in a chroot with limited performance degradation. On the hardware side, although Rockchip RK3066 and Freescale i.MX6 mini PC have about the same performance in Linux for (server applications), Rockchip devices clearly have a higher performance / cost ratio at the moment.
Jean-Luc started CNX Software in 2010 as a part-time endeavor, before quitting his job as a software engineering manager, and starting to write daily news, and reviews full time later in 2011.
Support CNX Software! Donate via cryptocurrencies, become a Patron on Patreon, or purchase goods on Amazon or Aliexpress
Great post. We needed something like this. Thanks for condensing Ian his results.
I was looking exactly for this in the last few days. Thanks a lot.
I’m particularly interested in understanding where the performance penalty comes from. I never expected a full Ubuntu desktop to run well but I am surprised that “basic” (read: relatively basic) server apps take a penalty.
There must be something in the Android kernel that is not optimized for these tasks, right ?
@singularity-7
I think it’s partly because of Android running in the background.
The Transformer TF101 has a Tegra 2 chip, not Tegra 3.
@Brad Linder
Thanks! Corrected. I knew I should not have done that from “memory”…
@cnxsoft
Interesting. I was looking way too far for a solution and completely forgot that. I guess I just assumed that a multicore processor could handle the background tasks, but I was probably thinking in PC terms where there’s a overabundance of memory bandwidth and other I/O ressources for low profile background tasks.
Android on low power ARM chips is entirely different.
Regarding the performance of SD cards, is it possible to chroot to a partition on a USB drive ?
(I don’t have an Android device to work with, but am planning to eventually so that’s why I’m asking before buying anything).
@cnxsoft I make mistakes for the same reason all the time. I probably shouldn’t admit that. 🙂
cnxsoft: Nice comparing you put on your web. I had to do the test on my gk802 too:) http://pastebin.com/5ytBmRCg
The only test that used more than 1 core was the 7-Zip Compression 9.20.1
I used a freq scaling kernel.
@HSTe
Thanks. I suppose it’s with imx6-dongle’s community Ubuntu 11.10 image.
Did you upload the results to openbenchmarking.org too? If so, you’ll welcome to put the link.
@HSTe
It looks a bit slower than the results for GK802 above. You must be running Unity desktop env, right?
Are you sure CLOMP does not also use more than 1 core? It’s much faster on GK802 than on other devices (except the Intel PC).
@cnxsoft
I’ll see if I can setup a new test later. I turned off lightdm. I think maybe sdcard is a bit slower as it would have impact on the results aswell