Skip to content

FastR - GraalVM Community Edition 1.0 RC15

Pre-release
Pre-release
Compare
Choose a tag to compare
@ansalond ansalond released this 05 Apr 16:14
· 2906 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/

Breaking changes in RC15:

  • ActiveBinding objects do not support the UNBOX message anymore
  • new Truffle interop converts double values to int values if they fit in the integer range

Added missing R builtins and C APIs:

  • simple support for the weak reference API functions (R_MakeWeakRef, R_MakeWeakRefC, R_WeakRefKey, R_WeakRefValue)
  • Rf_i1mach
  • gzcon builtin for url connections, e.g., load(url('protocol://path')) should work now
  • Sys.localeconv supports: decimal_point, thousands_sep, grouping, int_curr_symbol, currency_symbol, mon_decimal_point,
    mon_thousands_sep, mon_grouping, int_frac_digits, p_cs_precedes, other fields are fixed to some meaningful but not culture
    sensitive value for given field

Bug fixes:

  • rep.int with value argument of length 0 just returns the value argument
  • tcrossprod called from apply did not give correct result #60
  • Rf_lengthgets can accept NULL argument
  • FastR does not allow Java interop when not started with --jvm