Abstract
The CXXR project aims gradually to refactor the fundamental parts of the R interpreter from C into C++ whilst retaining the full functionality of the standard distribution of R. It is hoped that this will enable researchers more easily to enhance the functionality of R by allowing them to extend the interpreter’s internal C++ class hierarchy. The paper summarises progress to date and describes key aspects of the internal implementation of the CXXR where this differs from the standard interpreter. It also explains stratagems used to facilitate updating CXXR to reflect a new release of R, and examines the relative performance of CXXR and the standard interpreter.
Similar content being viewed by others
References
Becker RA, Chambers JM (1988) Auditing of data analyses. SIAM J Sci Stat Comput 9: 747–760
Becker P (2006) The C++ standard library extensions: a tutorial and reference. Addison-Wesley, Reading, MA
DeTreville J (1990) Experience with concurrent garbage collectors for modula-2+, Tech. Rep. 64, DEC Systems Research Center. Available from http://www.hpl.hp.com/techreports/Compaq-DEC/SRC-RR-64.pdf. Accessed on 25 Sept 2009
Laboratoire d’Informatique de Paris 6 (2010) Coccinelle. http://coccinelle.lip6.fr. Accessed on 26 May 2010
Meyers S (1996) More effective C++. Addison-Wesley, Reading, MA
Meyers S (1998) Effective C++, 2nd edn. Addison-Wesley, Reading, MA
R Development Core Team (2009a) R internals. ISBN 3-900051-14-3. Available at http://www.r-project.org
R Development Core Team (2009b) Writing R extensions. ISBN 3-900051-11-9. Available at http://www.r-project.org
Temple Lang D (2001) User-defined tables in the R search path, http://www.omegahat.org/RObjectTables/RObjectTables.pdf. Accessed on 7 Sept 2009
Temple Lang D (2009) A modest proposal: an approach to making the internal R system extensible. Comput Stat 24: 271–281
Urbanek S (2008) R benchmarks, http://r.research.att.com/benchmarks. Accessed on 7 Sept 2009
Valgrind Developers (2009) Cachegrind: a cache and branch-prediction profiler, http://valgrind.org/docs/manual/cg-manual.html. Accessed on 7 Sept 2009
van Heesch D (1997) Doxygen. http://www.doxygen.org. Accessed on 2 Sept 2009
Author information
Authors and Affiliations
Corresponding author
Rights and permissions
About this article
Cite this article
Runnalls, A.R. Aspects of CXXR internals. Comput Stat 26, 427–442 (2011). https://doi.org/10.1007/s00180-010-0218-0
Received:
Accepted:
Published:
Issue Date:
DOI: https://doi.org/10.1007/s00180-010-0218-0