REvolution R Community, REvolution’s free distribution based on R from the R Project, has been updated to version 3.2 and is now available for download for Windows and MacOS. Some features of this release include:
Upgraded R engine. This release is based on R 2.10.1, the latest release (as of this writing). This brings many new features to the R language as detailed in the NEWS file (or you can read the highlights here and here).
Multi-threaded math libraries. The Windows version is compiled to link with the Intel MKL (Math Kernel Libraries). This means that many computations in R — especially linear algebra functions like matrix multiply, inverse, and decompositions — have been dramatically optimized for performance. (Optimizations are tuned for Intel chipsets, but improvements are apparent on AMD systems, too.) This is really noticeable on multi-core and/or multi-processor systems, where multi-threaded code uses all available cores for computations. (R for Windows typically only uses one core. Conversely, the Mac version has always used multi-threaded libraries.) For example, matrix multiply runs about 6x faster (32x on a quad-core box), and principal components analysis (PCA) runs about 4x faster (9x on a quad-core). (See this page for the specific benchmarks.) You don’t need to change any code to benefit from these speedups — it all happens automatically when you use those standard R functions that linear-algebra computations. On the other hand, it doesn’t help with general R code that doesn’t make use of math libraries, but that’s where parallel programming comes in (see below).
New parallel backend for Windows. This release includes new open-source libraries from REvolution Computing to support symmetric multicore processing (SMP) on Windows machines, which enables you to speed up loops in R code running iterations in parallel on a multi-core or multi-processor machine. This is similar to using the doMC parallel backend for foreach on Mac or Linux. The new doSMP package acts as a replacement for doMC on Windows. For example, on a 4-core box, you’d register the doSMP backend like this:
workers <- startWorkers(4)
and from then on, foreach loops would run four iterations in parallel (one for each core) for up to a 4x speedup. (You get the most benefit when the body of the loop is performing time-consuming operations.) There’s more info in the ParallelR Lite User’s Guide, included with REvolution R Community 3.2.
Improved Installer: We’ve streamlined the install process to make it faster and require fewer clicks. For one thing, all of the added REvolution components are now open-source, so there’s no longer any click-through license. (Of course, you’re still bound by the terms of the respective open-source licenses, including the GPL for R itself.)
REvolution R Community 3.2 is available now from the link below.
REvolution Computing: Download REvolution R