From cdetermanjr at gmail.com  Thu May 12 14:45:16 2016
From: cdetermanjr at gmail.com (Charles Determan)
Date: Thu, 12 May 2016 07:45:16 -0500
Subject: [Rd] Single-threaded aspect
Message-ID: <CAKxd1KPhHhWuMF2Tbc+08uABm6gji=43PT3xTc+0-kdY6t=b2Q@mail.gmail.com>

R Developers,

Could someone help explain what it means that R is single threaded?  I am
trying to understand what is actually going on inside R when users want to
parallelize code.  For example, using mclapply or foreach (with some
backend) somehow allows users to benefit from multiple CPUs.

Similarly there is the RcppParallel package for RMatrix/RVector objects.
But none of these address the general XPtr objects in Rcpp.  Some readers
here may recognize my question on SO (
http://stackoverflow.com/questions/37167479/rcpp-parallelize-functions-that-return-xptr)
where I was curious about parallel calls to C++/Rcpp functions that return
XPtr objects.  I am being a little more persistent here as this limitation
provides a very hard stop on the development on one of my packages that
heavily uses XPtr objects.  It's not meant to be a criticism or intended to
be rude, I just want to fully understand.

I am willing to accept that it may be impossible currently but I want to at
least understand why it is impossible so I can explain to future users why
parallel functionality is not available.  Which just echos my original
question, what does it mean that R is single threaded?

Kind Regards,
Charles

	[[alternative HTML version deleted]]



[Rd] Single-threaded aspect
Charles Determan