[Rd] Fast way to call an R function from C++?

Iñaki Ucar |uc@r @end|ng |rom |edor@project@org
Tue Jun 18 20:35:13 CEST 2019


On Tue, 18 Jun 2019 at 19:41, King Jiefei <szwjf08 using gmail.com> wrote:
>
> [...]
>
> It is clear to see that calling an R function in R is the fast one, it is
> about 5X faster than ` R_forceAndCall ` and ` Rf_eval`. the latter two
> functions have a similar performance and using Rcpp is the worst one. Is it
> expected? Why is calling an R function from C++ much slower than calling
> the function from R? Is there any faster way to do the function call in C++?

Yes, there is: enable fast evaluation by setting
-DRCPP_USE_UNWIND_PROTECT, or alternatively, use

// [[Rcpp::plugins(unwindProtect)]]

Iñaki



More information about the R-devel mailing list