[beagleboard] Java Benchmark on the BeagleBone Black

Any surprises? I fully agree about apples and oranges but imagine how much you can do by powering the $45 board from a few AA batteries and now imagine the super-duper giant i7 that requires a Nuclear Power station from one side and a 3000 RPM fan on another to chill it out :slight_smile:

Any surprises?

None: Everything just worked, right out of the box. I spent more time getting Java installed than anything else.

imagine how much you can do by powering the $45 board from a few AA batteries

Oh, I have no complaints about the BBB – it’s a marvel that continues to amaze and delight me. It’s the most fun I’ve ever had for USD 50, and the fun is just beginning.

I did need something to compare the results with, and my laptop was just about my only choice. Still, only two orders of magnitude difference is also amazing. Hopefully one of my RasPi friends will run the same benchmark for a more meaningful comparison.

Gotta love the BBB!

Tom, RasPi should be slower but what it can do is 1080p decoding. Bbb just is not capable

Just out of curiosity, what version of Java did you use and was it compiled using the VFP extensions?

Since I don’t know what “VFP extensions” are, I hope that answered your question.

The OpenJDK ZeroVM is very slow because this is the “standard” OpenJDK without any assembly code …
The Oracle VM contains some ARM assembly code that is not Open sourced.
I ran some test on Raspberry Pi and Beaglebone (1st gen) : http://parleys.com/play/5156c4d6e4b0c779d7881405/chapter24/about / http://parleys.com/play/5156c4d6e4b0c779d7881405/chapter25/about

You can expect that the Oracle VM is about 4 to 5 times faster than OpenJDK ZeroVM.

I’m certain that is the case, and I do have another Angstrom image with the Oracle JDK installed – but I never found a real “opkg” package for the Oracle JDK, and thus while the code is there, and it works, the system doesn’t “know” about it, and I have to spell out the pathnames (or adjust my PATH) to use it.

The OpenJDK is at least easier to obtain and install (especially for the average user). The Angstrom “update-alternatives” only has an “install” option, no more! I need the “set” option to make the Oracle JDK the default. I never could figure out how to do that.

Any tips on doing that – or on successfully installing an alternate distro – would be very much appreciated.

And you probably will never find an opkg for Oracle JDK. They are very annoying when it comes to redistribution. But its not so hard to use the Oracle JDK. I just uninstalled the OpenJDK and untarred the arm variant of the oracle jdk into /usr/java on my BBB. Then just added the bin directories to my PATH. Simple as that really.

And so it was. Since I have the luxury of space (running on a 16GB Class 10 HD card), I kept both JDKs for comparison purposes. I have a simple shell script that switches between the two. Thanks for the boost I needed to cross that hurdle (finally).

I am curious, what OS are you running? And would that have an impact on your results?

-Tim

Well, on the BBB I’m running either the latest Angstrom (2013-05-27 or newer) or Robert C Nelson’s Debian “Wheezy” build. Those two are my primary boot images.

On the “big iron” I run Windows 8 Pro, or Ubuntu 13.04 – also depending on which way I boot.

I tend to experiment on the Debian boot – mostly because I’m very familiar with Ubuntu/Debian-based systems – and, if it works the way I want, I try to migrate the same thing to the Angstrom image. Sometimes it works, sometimes it doesn’t. I also do almost everything at the command line, via SSH or “Shell in a Box,” and only rarely hook up my Lapdock for GUI fun.

Curiosity cured?

Oops. I forgot your Question #2: I really have no idea. The underlying hardware is identical so you’d only be considering the innate latency of the OS … and I can’t begin to speculate what that might be.

I haven’t done any comparisons, since that’s not a consideration for me when selecting an SD card to boot from. Try it, find out, and report back!

Hey,
I am interested in the open JDK java performance of the RaspberryPi and the BBB.
Does anyone have a source for binary packages of open JDK?
I used the yum package manager on the raspberry:
java version “1.7.0_b147-icedtea”
OpenJDK Runtime Environment (fedora-2.1.fc17.6-arm)
OpenJDK Zero VM (build 22.0-b10, interpreted mode)

And opkg on the BBB:
java version “1.6.0_24”
OpenJDK Runtime Environment (IcedTea6 1.12pre)
OpenJDK Zero VM (build 20.0-b12, mixed mode)

To be able to compare the systems it would be best to have a binary package that I can put on both systems so I have the exact same version.

I would appreciate your help
Felix

You can use the Oracle JVM binaries : http://www.oracle.com/technetwork/java/javase/downloads/index.html
They both run on the Rpi and the BB.
I have made some benchmark tests showing that the JVM is faster on BB (first-gen) by a factor between 2 and 3.

Laurent