You are here
High Performance R
Optimizing Open Source R for MultiThreaded Performance
RevoR, the distribution of Open Source R included with Revolution R Enterprise, improves performance by using industrystandard compilation techniques and by linking with the multithreaded Intel Math Kernel Libraries. Unlike the standard build of R, Revolution R Enterprise RevoR automatically uses all available cores and processors to significantly reduce computation times — without the need to change a line of your R code.
Revolution R Enterprise RevoR Performance Benchmarks
The benchmarks on this page demonstrate the performance of Revolution R Enterprise 6.1 compared to the base version of R2.14.2, available from the R Project. The test system was an Intel® Xeon® CPU E31240@3.30GHz 3.30 GHz with 16GB System RAM running 64bit Windows Server 2008 R2 SP1.
One of the differences between Revolution R products and base R is the ability to leverage multithreading and processor capabilities on all x86 platforms to increase performance. Thus, the more cores available to Revolution R, the higher your performance for many operations.
Revolution Analytics has created these tests to simulate common realworld computations.
Base R 2.14.2 64  Revolution R (1core) 
Revolution R (4core) 
Speedup (4 core) 

Matrix Multiply  124.4 sec  11.4 sec  4.4 sec  27.1x 
Cholesky Factorization  18.0 sec  1.8 sec  .6 sec  29.8x 
Singular Value Decomposition  37.8 sec  8.4 sec  4.6 sec  7.1x 
Principal Components Analysis  141.2 sec  22.4 sec  11.0 sec  11.9x 
Linear Discriminant Analysis  117.0 sec  39.8 sec  32.0 sec  2.7x 
Speedup = Slower time / Faster Time  1
More information:
Additional performance gains with Revolution R Enteprise ScaleR
Revolution R Enterprise ScaleR, the Big Data predictive analytics library included with Revolution R Enterprise, provides fast and scalable, parallel algorithms for analyzing very large data sets or large models with many independent variables, or both. Designed from first principles to overcome R’s limitations of being memory bound and single threaded, ScaleR functions implement parallel external memory algorithms (PEMAs) that (1) avoid the need to have all of the data in memory at one time and (2) take advantage of all of the computational resources available. RevoScaleR PEMAs automatically run in parallel on all of the cores available on multicore PC and servers, and on multinode clusters of servers. Learn more.