是否可以直接从RStudio使用GraalVM / FastR?

时间:2018-05-14 08:37:19

标签: java rstudio graalvm fastr

我浏览了一些文档,但我不清楚是否可以在RStudio中使用FastR / GraalVM而不是默认的GNU R实现。

我的目标是以比当前使用RJava和一些包装函数调用java代码的解决方案更友好的方式集成R代码和Java代码。

这是GraalVM宣传的一个很好的功能。这里解释了Java和R代码的集成(在两个方向上),例如https://medium.com/graalvm/enhance-your-java-spring-application-with-r-data-science-b669a8c28bea

1 个答案:

答案 0 :(得分:2)

FastR过去常常与RStudio进行原型集成,我们计划在某些时候恢复它,但是,目前还没有具体的时间框架。

更新:FastR适用于此Visual Studio code plugin。您只需要设置FastR可执行文件的路径而不是GNU-R。

更多技术细节:RStudio(更精确地说是rserver)在嵌入模式下使用R,这是由FastR 1 [2]支持的,但是自2016年我们做了原型以来,还没有用RStudio进行过测试。 ,RStudio使用R API直接访问R的执行上下文,这很难为FastR模拟,因为它只是一堆C全局变量。 FastR提供了访问执行上下文的函数[3] [4],需要修补RStudio才能使用这些函数。

1 https://github.com/oracle/fastr/blob/master/com.oracle.truffle.r.native/fficall/src/truffle_nfi/Rembedded.c

[2]测试:https://github.com/oracle/fastr/tree/master/com.oracle.truffle.r.test.native/embedded

[3]原生方:https://github.com/oracle/fastr/blob/master/com.oracle.truffle.r.native/fficall/src/truffle_nfi/Rembedded.c#L262

[4] Java方面:https://github.com/oracle/fastr/blob/master/com.oracle.truffle.r.ffi.impl/src/com/oracle/truffle/r/ffi/impl/upcalls/IDEUpCallsRFFI.java