Comparing standard R with Revoutions for performance

Following on from my previous post about improving performance of R by linking with optimized linear algebra libraries, I thought it would be useful to try out the five benchmarks Revolutions Analytics have on their Revolutionary Performance pages.

For convenience I collected their tests into a single script revolution_benchmark.R that I can simply run with Rscript --vanilla revolution_benchmark.R.

The results, compared with the speed-up factors Revolution claims for their version:

Revolutions benchmarks compared with R on x86_64 system
RR + ATLASSpeed-upRevolution’s
claimed speed-up
Matrix Multiply360.969.3037.841.0
Cholesky Factorization27.285.653.821.0
Singular Value Decomposition98.7323.573.212.6
Principal Components Analysis454.5540.9210.115.2
Linear Discriminant Analysis271.4479.612.44.4

In all instances Revolution’s claimed speed-up is greater, though probably not significantly so for the Matrix Multiply test and hardly so for the Principal Components Analysis. (Of course, I do not have a copy of Revolution Analytics’ product, so I can’t verify their claims or make a comparable test.)

Whether saving 48 seconds on a linear discriminant analysis is enough to justify buying the product is a decision I leave to you: you know what analysis you do. For me, there are (many) orders of magnitudes to be gained by better algorithms and better variable selections so I am not too worried about factors of 2 or even 10. For extra raw power, I run R on a cloud service like AWS which scales well for many problems and is easy to do with stock R while I guess there are some sort of license implications if you wanted to do the same with Revolution’s product. (But I like Revolution and am still trying to find an excuse to use their product.)

Your mileage may vary.