Caching Rstudio、can和x27中的Rcpp;如果我没有';t在Rstudio中打开cpp文件
我遇到了一个有线问题,但我想知道我问的问题是否正确:Caching Rstudio、can和x27中的Rcpp;如果我没有';t在Rstudio中打开cpp文件,caching,parallel-processing,rstudio,rcpp,Caching,Parallel Processing,Rstudio,Rcpp,我遇到了一个有线问题,但我想知道我问的问题是否正确: result = parLapply(cl, 1:4, function(j,rho_list_needed,delta0_needed, V_iter_s,Sigma_list_needed) { rhoj = rho_list_needed[[j]]
result = parLapply(cl, 1:4,
function(j,rho_list_needed,delta0_needed,
V_iter_s,Sigma_list_needed) {
rhoj = rho_list_needed[[j]]
delta0_in_cpp = delta0_needed
v = as.vector(V_iter_s[,,,j])
sigmaj = Sigma_list_needed[[j]]
sourceCpp('sample_Z.cpp')#first time complie slow,then cashed
return(Sample_Z(rhoj,delta0_in_cpp, v,sigmaj,A,Cmatrix))
},rho_list_needed,delta0_needed,
V_iter[[s]],Sigma_list_needed)
当我通过parallel-throughparlappy
测试我的sample_Z.cpp
时,单个计算大约需要1秒。通过并行计算,我的4次迭代大约需要1.2秒,与无与伦比的8秒版本相比,这是一个很大的改进
当我昨天运行我的程序时,一点问题都没有。刚才我注意到一个bug,修改了我的程序。为了给我的电脑一个全新的环境,我重新启动了电脑。开始运行程序时,我只打开.R
文件,然后运行。但平行线需要9秒,过去是1.2秒。9秒是在我的核心预热之后,也就是说,在我计时之前已经获取了cpp
我只是不知道臭虫在哪里。然后尝试直接在我的global Merrime中获取cpp文件的源代码,我发现根本没有缓存。第二次和第一次用了同样的时间
但是我意外地在Rstudio中打开了sample_Z.cpp
,在编辑器中显式打开。然后,现在一切都正常了
我不知道如何用什么样的关键字在谷歌上搜索类似的问题,也不知道是否必须打开cpp文件,而我以前从未知道
谁能告诉我真正的问题是什么?谢谢 重新启动电脑后,可能会有额外的进程在运行,这些进程可能会争夺CPU核心,从而降低算法的速度。您正在重新启动的事实向我表明您没有使用Linux。。。但如果您是,请在启动代码时使用
top
,或者在您的平台上使用等效工具进行观察