Skip to content

Instantly share code, notes, and snippets.

@gertvv
Created February 19, 2013 09:20
Show Gist options
  • Save gertvv/4984288 to your computer and use it in GitHub Desktop.
Save gertvv/4984288 to your computer and use it in GitHub Desktop.
Reasons for getting rid of rJava in GeMTC

Reasons for removing rJava from GeMTC

General concerns

  • Separating the code bases into a Java part and an R part makes the code less transparent and harder to contribute to. It also adds quite a bit of interfacing code (and headaches).

  • rJava is brittle

    • Some have trouble getting it to find their Java installation

    • There are issues with 32/64 bit R versus 32/64 bit Java (especially on Windows)

    • rJava breaks when JAVA_HOME is a JDK instead of a JRE (even though other software expects it to be a JDK)

  • rJava objects can not be dump()-ed (etc.), breaking common R functionality such as saving the workspace between sessionsj

  • rJava catches certain signals for you, so e.g. CTRL-C would end your session, rather than interrupt the currently running command. Even if the current command did not run any Java code.

Bundling concerns

  • The Java dependency makes bundling the R package with software as open meta-analyst more difficult.

Web service concerns

  • There are problems handling concurrent connections with RServe when rJava is present (Joël?).

  • Instantiating a new JVM for every RServe session is a significant run-time and memory overhead.

  • Provisioning a server with Java is an annoyance.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment