In a presentation at the JSM 2011 conference in Miami yesterday, R core member Luke Tierney revealed that the next major update to R, R 2.14, will feature improved speed when processing interpreted R code, thanks to standard use of the new byte compiler feature.
The byte compiler was introduced with R 2.13, but while R developers could use it for their own functions, the standard base and recommended packages were unaffected by the byte compiler. Starting with R 2.14, all of the standard functions and packages in R will be pre-compiled into byte-code, which in some cases can speed up performance by a factor of 5x or more. (In an experimental version of the compiler, which may make it into 2.14, even greater speedups are possible.) The benefits accrue mainly to pure R functions which deal with scalars and very short vectors -- R functions which call out to C code and operations on large vectors won't be affected much. With the new compiler, Tierney says there should be fewer occasions where R programmers need to turn to C or other external languages to speed up R code.
In other news for R 2.14, Tierney says that the new version may also make transparent use of parallel processing for some operations on multi-core machines. The colSums and dist functions already include hidden features for parallel processing, and if tests go well features like this may become the default in future versions of R. Features from Tierney's experimental pnmath package, which parallelizes some basic math routines in R, may also make it into the next release.
R 2.14 is expected to be released later this year.
When does Revolution expect to be shipping 2.14?
Posted by: Albert | August 03, 2011 at 11:36
I wonder if there is some extra information on this topic. Maybe I am a bit skeptic but, a speed up of 4 to 5 times is quite a leap forward! I could not find information in the R NEWS file and google did not help me.
Posted by: Maarten | August 03, 2011 at 14:23
@Albert, as with our usual policy, Revolution R will be based on R 2.14 once the final patchlevel of the 2.14.x series is released.
Revolution R Enterprise 5.0 will be based on R 2.13 and released in later this year. That version of R does include the compiler package, for use with your own R functions.
Posted by: David Smith | August 03, 2011 at 15:48