4 ms·
IMHO the crucial question is whether users can use libraries that load native libraries and/or make use of rcpp. The docs make me think it's not possible.
by stewbrew 9y ago
IMHO the crucial question is whether users can use libraries that load native libraries and/or make use of rcpp. The docs make me think it's not possible.
- phillc73 9y agoRegarding Rcpp, their package library says "A Renjin-specific version of this package is available."[1] Looks like Renjin can also be used from GNU R as an R package[2]. I'd assume any installed R package should also work in conjunction with it. Admittedly, I haven't tried Renjin, but only just found it and thought it was quite interesting. [1] http://packages.renjin.org/package/org.renjin.cran/Rcpp http://packages.renjin.org/package/org.renjin.cran/Rcpp [2] http://docs.renjin.org/en/latest/package/index.html#using-renjin-as-an-r-package http://docs.renjin.org/en/latest/package/index.html#using-re...
- michaelmior 9y agoEven just using Renjin to be able to access Java code within R seems super useful.
- kprybol 9y agoWasn’t that already possible via the rJava library?
- michaelmior 9y agoTrue. Although Renjin seems like it provides a bit of a nicer interface in some cases. (Disclaimer: not an R developer)
- sorokod 9y agoFrom the documentation [1]: "As a service, BeDataDriven provides a repository with all CRAN (the Comprehensive R Archive Network) and BioConductor packages at http://packages.renjin.org http://packages.renjin.org. The packages in this repository are built and packaged for use with Renjin. Not all packages can be built for Renjin so please consult the repository to see if your favorite package is available for Renjin." [1] http://docs.renjin.org/en/latest/interactive/index.html#prerequisites http://docs.renjin.org/en/latest/interactive/index.html#prer...
- Annatar 9y agoYes. Renjin isn’t even a complete implementation of R and I don’t believe that a Java JIT will ever beat Fortran in performance. I’d sure like to see some evidence of JIT R beating the Fortran implementation. And then there is the memory inefficiency of Java. So again I ask: why?
- mwexler 9y agoBecause there is value in having a completely jvm stack in some places. Sometimes performance takes a back seat to consistency. It may not be right, but that's the way it is in some orgs.
- acaloiar 9y agoWhen I was implementing Renjin's PRNG based on GNR R's, I read a fair amount of GNU R code. I think it goes without saying that C and Fortran perform well. However, I do believe that R's flexibility as a language comes at a performance cost. The implementation of that flexibility is not always done in an efficient manner; and as a result performance suffers. I.e. R is not particular performant in certain circumstances despite being largely implemented in C and Fortran. I only have anecdote to offer in this regard, but it is worth considering that GNU R's good performance is not a foregone conclusion.
- phillc73 9y agoHadley's book, "Advanced R" has a specific performance related chapter[1]. As well as techniques to boost performance within R, there's a section on "Alternative R implementations," which says in part, "There are some exciting new implementations of R. While they all try to stick as closely as possible to the existing language definition, they improve speed by using ideas from modern interpreter design." Renjin is listed in this section. While I don't have direct experience of Renjin, or any other alternative R interpreters, I'm inclined to believe Hadley has and if he believes they improve speed, I'll take him at his word. [1] http://adv-r.had.co.nz/Performance.html http://adv-r.had.co.nz/Performance.html