All benchmarks are artificial, but this one had me scratching my head. One hears that the BeagleBone Black is screamingly fast compared to the Raspberry Pi; faster, newer processor, blahdeblah, mcbtyc, etc. I found the opposite is true.
So I buy one at the exceptionally soggy Toronto Mini Maker Faire. Props to the CircuitCo folks, they are easy to set up: just a mini-USB cable provides power and virtual network shell. And BoneScript — an Arduino-like JavaScript library — is very clever indeed. But I need to see if this thing has any grunt, and so I need a benchmark.
After hearing about the business-card raytracer, I thought it would be perfect. I compiled it on both machines with:
g++ -Ofast  card.cpp  -o card
and then ran it with:
time ./card > /dev/null
The results are … surprising:
- Raspberry Pi: 4′ 15″
- BeagleBone Black: 12′ 39″ → 3× slower
(In comparison, my i7 quad-core laptop runs it in 8½ seconds.)
I don’t have any explanation why the BBB is so much slower. It’s almost as if the compiler isn’t fully optimizing under Ã…ngström Linux.
Raspberry Pi: system info
$ uname -a Linux rpi 3.6.11+ #538 PREEMPT Fri Aug 30 20:42:08 BST 2013 armv6l GNU/Linux $ cat /proc/cpuinfo Processor   : ARMv6-compatible processor rev 7 (v6l) BogoMIPS   : 697.95 Features   : swp half thumb fastmult vfp edsp java tls CPU implementer   : 0x41 CPU architecture: 7 CPU variant   : 0x0 CPU part   : 0xb76 CPU revision   : 7 Hardware   : BCM2708 Revision   : 000f
BeagleBone Black: system info
# uname -a Linux beaglebone 3.8.13 #1 SMP Tue Jun 18 02:11:09 EDT 2013 armv7l GNU/Linux # cat /proc/cpuinfo processor   : 0 model name   : ARMv7 Processor rev 2 (v7l) BogoMIPS   : 297.40 Features   : swp half thumb fastmult vfp edsp thumbee neon vfpv3 tls CPU implementer   : 0x41 CPU architecture: 7 CPU variant   : 0x3 CPU part   : 0xc08 CPU revision   : 2 Hardware   : Generic AM33XX (Flattened Device Tree) Revision   : 0000
Both boards are running at stock speed.
Update: I’ve tried with an external power supply, and checked that the processor was running at full speed. It made no difference. I suspect that Raspbian enables armhf floating point by default, while Ã…ngström needs to be told to use it.