We'll respond shortly.
Let’s jump right into the benchmark results. Note that in addition to the Soekris and the Raspberry Pi, I have also included a dual-core mid-2011 i5-based and a quad-core late-2012 i7-based Apple Mac Mini. This is to allow comparison to a PC-class machine (which can be up to 14x faster than the Pi)
|Machine||CPU||OS||List Price||Time (seconds) (lower is better)||Relative Speed (higher is better)||$/Compute (lower is better)|
|Raspberry Pi||ARMv6 rev 7 (Raspberry Pi) 0.7GHz||Raspian (Debian 7.0)||$35||573.52||1.00||$35|
|Soekris NET6501||Intel Atom E680 1.6 Ghz||FreeBSD 9.1 32-bit||$470||338.40||1.69||$277|
|Mid-2011 Mini||Intel Core i5 2.5 GHz (i5-2520M)||Mac OS X 10.8.5||$800||44.10||13.00||$62|
|Late-2012 Mini||Intel Core i7 2.3 GHz (i7-3615QM)||Mac OS X 10.9||$800||39.40||14.56||$55|
The Raspberry Pi is an excellent choice for single-threaded applications that have minimal RAM and disk requirements and modest network demands. In other words, it makes an excellent home firewall. Note that the Raspberry Pi’s ethernet interface is limited to 100Mbps (i.e. it is not gigabit-capable). This is a shortcoming of the design decision to place the ethernet interface on the USB 2.0 bus, whose maximum bandwidth (480 Mbps) is not enough to sustain a gigabit ethernet interface. That being said, I am not aware of a home Internet connection that exceeds 100Mbps.
The Soekris is a better solution for more complex (i.e. business) firewalls. It has four built-in gigabit ethernet ports which allow for greater networking options.
For CPU-intensive applications, you’re better off with a PC-class system rather than an embedded system such as the Soekris or the Raspberry Pi.
The benchmark is an ssh-keygen command run on a candidate file:
time ssh-keygen -T moduli-2048 -f moduli-2048.candidates
The candidate file can be downloaded here. I chose ssh-keygen because it’s CPU-bound, has a small memory footprint, doesn’t use floating point, and is fairly ubiquitous.
Once again, the typical use-case for these embedded systems is a home firewall, which is single-threaded, has a small memory footprint (the kernel plus a handful of daemons), requires no floating point, and doesn’t care which OS/architecture it’s running.