40-percent faster R without any code changes

R
Share

Our benchmark project — with reproducible results — is publicly available on Domino. Starting today, anyone running R code on Domino can use Revolution R Open, to dramatically improve their performance without any code changes.

Introduction

We had a great conversation last week with the folks from Revolution Analytics to learn more about their new Revolution R Open product (RRO, for short). For those who don’t know, RRO is a 100% compatible, drop-in replacement for the stock distribution of R, with several significant performance enhancements. This means it works with all your existing R packages — it just runs your code much faster. And it’s open source!

Benchmarks

We installed RRO on in our default Domino environment, so we can easily switch projects over to use RRO instead of stock R. And then we did some benchmarks, using the R-Benchmark-25 script. The results were impressive:

On a single-core machine, RRO was nearly 30% faster than stock R. And on a 4-core machine, RRO was nearly 40% faster. Again, these improvements happened with the exact same R code, and no need to update any packages.

Differences vs Revolution’s benchmarks

Revolution has posted some of their own benchmarks on their blog and their web site. While our results above seem impressive, Revolution shows a much more significant speedup than what we saw. We haven’t investigated this. It’s possible that, because they were running on Windows, the Intel MKL support gave them a big boost, whereas since we were running on Linux, we already had a good underlying math library (BLAS) for our stock R installation. Or it’s possible we didn’t take full advantage of some configuration options. Honestly, we don’t know.

RRO Installation

Installation on Ubuntu was simple, following Revolution’s own instructions:

wget http://mran.revolutionanalytics.com/install/RRO-8.0-Beta-Ubuntu-14.04.x86_64.tar.gz
tar -zxf RRO-8.0-Beta-Ubuntu-14.04.x86_64.tar.gz
./install.sh

# RRO will be installed in '/usr/lib64/RRO-8.0' -- update your $PATH accordingly

RRO on Domino

Domino projects can now optionally be set to use RRO instead of stock R. If you’d like to try it out on your project, just email our help desk to let us know.