A refactored, efficient virtual machine for the R language with full compatibility and modern engineering.
Rho is an independent project that refactors the R language interpreter into a modern, efficient virtual machine while maintaining full compatibility. It addresses performance and maintainability limitations in R's original interpreter by applying contemporary software engineering techniques and optional JIT compilation via LLVM.
R language developers and researchers who need better performance from their R code, as well as language implementers interested in modern interpreter/VM design for statistical computing.
Developers choose Rho for its promise of improved R performance through modern VM architecture while maintaining full compatibility, offering an independent development path that can innovate faster than the main R project.
Rho is an independent project that refactors the R language interpreter into a modern, efficient virtual machine while maintaining full compatibility with existing R code. It aims to improve performance and maintainability using contemporary software engineering techniques, operating separately from the main R development effort.
Rho believes that R's interpreter can be re-engineered into a more efficient, maintainable virtual machine without sacrificing compatibility, using modern C++ and compiler technologies to unlock better performance.
Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.
Maintains complete compatibility with the R language and its ecosystem, allowing existing code to run without modification, as highlighted in the key features.
Refactors the interpreter into a virtual machine using modern C++ and software engineering practices, aiming for better performance and maintainability.
Offers optional just-in-time compilation via LLVM for improved performance, particularly beneficial for computationally intensive R scripts.
Developed separately from main R, enabling architectural innovation without being constrained by the official project's pace.
Project development has been halted, meaning no updates, bug fixes, or new features, as explicitly stated in the README.
Does not support packages using the USE_RINTERNALS macro, including critical ones like Rcpp and data.table, severely restricting its practical use.
Requires specific compilers and libraries, with tricky configurations on platforms like macOS, as detailed in the OSX build instructions.
Testing is limited to specific Ubuntu versions and compilers, reducing reliability across other Linux distros or environments.