[Rcpp-devel] DataFrame::create() in endless loop

Slava Mazur smazur at liquidnet.com
Tue Feb 28 20:59:00 CET 2012


> It's a memory problem from R.  It is trying to do garbage collection
> (RunGenCollector) and getting hung up, probably because of exhausting
> one of the stacks in R.  Your std::vector<int> objects need to be
> copied to R objects.  Is it possible to define them as IntegerVector's
> instead, in which case the Create method will (I think) just move some
> pointers around.

I had the same problem a while ago and the solution we've come up with was to get rid of Rcpp::DataFrame and use Rcpp::XPtr instead.
It turned out that Rcpp::DataFrame is rather impractical for sufficiently large data sets.
As an alternative, Rcpp::XPtr is a little bit more complex to implement but by far more reliable and efficient.
For more details see this http://lists.r-forge.r-project.org/pipermail/rcpp-devel/2012-January/003335.html and subsequent messages.

Hope this helps.

Cheers,

Slava Mazur

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.r-forge.r-project.org/pipermail/rcpp-devel/attachments/20120228/be7c911c/attachment-0001.html>


More information about the Rcpp-devel mailing list