FastR

FastR is a GraalVM based implementation of the R (programming language) that provides significant improvements in the performance of R code, the embedding of the R execution engine into Java applications, and the ability to interface with other GraalVM and JVM languages including Python, Java, and Scala. FastR is also able to utilize the tooling support provided by the GraalVM ecosystem - medium

- FastR on github

YOUTUBE ONNRWOTvtgw The 2018 talk will present interesting ways how R and Python can be combined into a polyglot application running on GraalVM, for example using R package from Python or vice versa, and briefly explain how this interoperability works on the technical level.

GraalVM is a multi-language runtime that allows to run and combine multiple programming languages in one process and operating on the same data without the need to copy the data when crossing language boundaries. Moreover, the dynamic just-in-time compiler included in GraalVM is capable of applying optimizations across the languages boundaries.

The languages implemented on top of GraalVM include FastR, an alternative R implementation, C, Ruby, JavaScript, and GraalPython.

FastR currently works with many of the popular R packages, such as - ggplot2 - jsonlite - testthat - assertthat - knitr - Shiny - Rcpp - rJava - quantmod - and moreā€¦

# Compatibility with GNU-R

The goal of FastR is to be a drop-in replacement for GNU-R, the reference implementation of the R language. So far, FastR is capable of running binary R packages built for GNU-R as long as those packages properly use the R extensions C API.

This is an image - medium.com

However, for best results, it is recommended to install R packages from source. FastR supports R graphics via the grid package and packages based on grid (lattice and ggplot2). We are currently working towards support for the base graphics package.

# See also