Intel Galileo vs PC vs Arduino
Update: Please see the new benchmark by James Doulton.
I happened to get a new Intel Galileo board, which is compatible with Arduino. It is much faster than a classic Arduino, but I didn't know how much faster it is, or how much slower it is with respect to a normal x86 PC.
Galileo vs PC
Benchmarks are lacking, so I rewrote the n-body problem from the Computer Language Benchmarks Game for Arduino. It is a single-threaded low-memory floating-point number-crunching benchmark. This is its Arduino sketch:
It repeats the same benchmark indefinitely and prints results to the serial console. It was compared against “Java7 #2 single core” implementation:
Compared to common desktop CPUs, Galileo is much slower at number crunching. Something like two orders of magnitude slower. A thing to keep in mind on what's possible to do in real time on this hardware.
|Hardware||Software||Iterations||Time, ms||Time/Iter, us|
|Core i5 650||nbody.java||50000000||13993||0.28|
|Core i7 2600||nbody.java||500000000||78282||0.16|
Galileo vs Arduino
If I procure a classic Arduino, I'll update the post. From inconclusive benchmarks run by someone else, and my attempt to repeat them on Galileo, it appears that Galileo is at least 50 times faster than Arduino Due on a similar low-memory task with lots of floating-point operations:
|Hardware||Time, ms||Iterations||Time/Iter, us|
And this means there is a whole world of new possibilities to explore.