Skip to content

FastR - GraalVM Community Edition 1.0 RC14

Pre-release
Pre-release
Compare
Choose a tag to compare
@ansalond ansalond released this 18 Mar 18:02
· 3002 commits to master since this release

FastR is a GNU R compatible implementation of R for GraalVM. It is currently based on R 3.5.1, reuses the base packages of GNU R and is compatible with the ecosystem.

For example, FastR can install and run unmodified complex R packages like ggplot2, Shiny, or Rcpp, for compatibility with other packages please refer to the compatibility checker: http://www.graalvm.org/docs/reference-manual/compatibility/.

Being implemented on top of GraalVM, FastR uses its state-of-the-art JIT compiler and has better peak performance, often several times faster than GNU R.

The R language components can be installed in GraalVM using the gu utility.

More information is available on the GraalVM website: http://www.graalvm.org/docs/reference-manual/languages/r/

New features in RC14:

  • all FastR specific options (NOT those GNU-R compatible like --save) are experimental except for --R.PrintErrorStacktracesToFile, which is an option that enables logging of FastR internal errors for bug reporting purposes. Experimental options can be unlocked using --experimental-options or with ContextBuilder#allowExperimentalOptions.
  • the MRAN mirror used by FastR by default instead of CRAN was bumped to 2019-02-13
  • options for the JVM or native image are now passed using --vm. prefix in both cases instead of --jvm.. or --native. (e.g., --jvm.Dproperty=false becomes --vm.Dproperty=false)

New features:

  • whenever possible, errors are propagated to the FastR embedder

Added missing R builtins and C API

  • Rf_StringBlank

Bug fixes:

  • C_numeric_deriv gives wrong results of gradient #54
  • tcrossprod with a single vector #56
  • length<- would remove attributes from the target even if it was a shared value
  • length(x) <- N should not strip attributes if length(x) == N, which is not in line with GNU-R documentation, but relied upon in the methods package #55
  • as.Date with invalid date string #56