4

我编写了一个 Rcpp 函数,该函数从总体中返回一个样本,并且为了测试我想运行它数千或数百万次的估计方法。似乎调用 Rcpp 需要一点开销,而且类似的事情replicate(100,myFunction())比我预期的要长得多。

最好的方法是什么?rep, *apply, replicate, 将循环本身放在 C++ 中?

4

1 回答 1

0

如果您关心性能,您希望尽量减少从 R 到 C++ 的调用次数——而不是像您所说 的那样做数千或数百万次。

所以巴蒂斯特是正确的:for()如果可以的话,在 C++ 级别执行循环。

另请注意,最新版本的RcppArmadillo现在有一个 C++ 版本,sample()它可能也允许您在 C++ 中完成该部分。也就是说,我对“UPtille”以及它的作用一无所知,所以也许你被现有的 R 实现所困扰。

于 2013-03-17T03:22:44.917 回答