[Rd] How to execute R scripts simultaneously from multiple threads

Vladimir Dergachev vdergachev at rcgardis.com
Wed Jan 3 19:37:45 CET 2007

On Wednesday 03 January 2007 3:47 am, Erik van Zijst wrote:
> Hi All,
> My problem is about parallel execution of R-scripts. My platform is linux.
> A program that is written in C needs to execute multiple R-scripts
> simultaneously. The C program makes use of multi-threading. Each thread
> must initiate the execution of one script. Performance is very important.
> Appearantly the R C-API does not provide a mechanism for parallel
> execution..
> It is preferred that the solution is not based on multi-processing (like
> C/S), because that would introduce IPC overhead.

One thing to keep in mind is that IPC is very fast in Linux. So unless you are 
making lots of calls to really tiny functions this should not be an issue.

What can be an issue is the overhead of starting a new R process. In which 
case you can make some helper processes that do the same thing you wanted 
from a multi-thread one and just pass the data around.


                                  Vladimir Dergachev

> Hopefully some thread-safe (single-proces) solution is readily
> available, written in C.
> What is the best solution to do this?
> (If there is no single-process solution, what is the alternative?)
> Regards,
> Erik.

More information about the R-devel mailing list