Можно ли использовать GraalVM / FastR напрямую из RStudio? - PullRequest
0 голосов
/ 14 мая 2018

Я просмотрел некоторые документы, но мне не ясно, возможно ли использовать FastR / GraalVM в RStudio вместо реализации GNU R по умолчанию.

Моя цель состоит в том, чтобы объединить код R и код Java гораздо более дружественным способом, чем текущее решение, которое использует RJava и некоторые функции-оболочки для вызова кода Java.

Это одна из приятных функций, которые рекламирует GraalVM. Здесь объясняется интеграция кода Java и R (в обоих направлениях), например https://medium.com/graalvm/enhance-your-java-spring-application-with-r-data-science-b669a8c28bea.

1 Ответ

0 голосов
/ 14 мая 2018

FastR раньше имел прототипную интеграцию с RStudio, и мы планируем возродить это в какой-то момент, однако конкретных временных рамок для этого пока нет.

Обновление: FastR хорошо работает с этим плагином кода Visual Studio . Вам просто нужно указать путь к исполняемому файлу FastR вместо GNU-R.

Больше технических подробностей: RStudio (точнее rserver) использует R во встроенном режиме, который поддерживается FastR 1 [2], но не тестировался с RStudio, так как мы делали прототип в 2016 году Кроме того, RStudio использует R API для прямого доступа к контекстам выполнения R, что сложно эмулировать для FastR, поскольку это просто набор глобальных переменных Си. 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

...