Computational Statistics

, Volume 26, Issue 3, pp 427–442 | Cite as

Aspects of CXXR internals

Original Paper

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.

Keywords

CXXR C++ Software refactoring 

References

  1. Becker RA, Chambers JM (1988) Auditing of data analyses. SIAM J Sci Stat Comput 9: 747–760MATHCrossRefGoogle Scholar
  2. Becker P (2006) The C++ standard library extensions: a tutorial and reference. Addison-Wesley, Reading, MAGoogle Scholar
  3. 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
  4. Laboratoire d’Informatique de Paris 6 (2010) Coccinelle. http://coccinelle.lip6.fr. Accessed on 26 May 2010
  5. Meyers S (1996) More effective C++. Addison-Wesley, Reading, MAGoogle Scholar
  6. Meyers S (1998) Effective C++, 2nd edn. Addison-Wesley, Reading, MAGoogle Scholar
  7. R Development Core Team (2009a) R internals. ISBN 3-900051-14-3. Available at http://www.r-project.org
  8. R Development Core Team (2009b) Writing R extensions. ISBN 3-900051-11-9. Available at http://www.r-project.org
  9. Temple Lang D (2001) User-defined tables in the R search path, http://www.omegahat.org/RObjectTables/RObjectTables.pdf. Accessed on 7 Sept 2009
  10. Temple Lang D (2009) A modest proposal: an approach to making the internal R system extensible. Comput Stat 24: 271–281MathSciNetMATHCrossRefGoogle Scholar
  11. Urbanek S (2008) R benchmarks, http://r.research.att.com/benchmarks. Accessed on 7 Sept 2009
  12. Valgrind Developers (2009) Cachegrind: a cache and branch-prediction profiler, http://valgrind.org/docs/manual/cg-manual.html. Accessed on 7 Sept 2009
  13. van Heesch D (1997) Doxygen. http://www.doxygen.org. Accessed on 2 Sept 2009

Copyright information

© Springer-Verlag 2010

Authors and Affiliations

  1. 1.School of ComputingUniversity of KentCanterbury, KentUK

Personalised recommendations