[Rcpp-devel] Call by reference
Dirk Eddelbuettel
edd at debian.org
Wed Jul 29 19:37:37 CEST 2015
On 29 July 2015 at 17:28, Rguy wrote:
| The reason I am interested in using call by reference is that I am accessing
| data frames with over a million rows and hundreds of columns. It is more
| efficient to operate on such a data frame directly, as opposed to copying it
| into and out of a function. In other words, I want to be *not* like R, which is
| why I am interested in utilizing C++, which supports call by reference.
You misunderstand. We communicate by SEXP. Where the P stands for pointer.
IE even with
R> M <- as.data.frame(matrix(rnorm(1e6, 1e3)))
R> object.size(M)
8000672 bytes
R>
we'd still only pass the same 56 bytes a SEXP takes. See eg
https://cran.r-project.org/doc/manuals/R-ints.html#SEXPs and play with memory
profiling in R.
Dirk
--
http://dirk.eddelbuettel.com | @eddelbuettel | edd at debian.org
More information about the Rcpp-devel
mailing list