You are here
High Performance R
Optimizing Open Source R for Multi-Threaded Performance
RevoR, the distribution of Open Source R included with Revolution R Enterprise, improves performance by using industry-standard compilation techniques and by linking with the multi-threaded 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 R-2.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 64-bit 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 real-world computations.
|Base R 2.14.2 64||Revolution R
|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
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 multi-core PC and servers, and on multi-node clusters of servers. Learn more.