Rem*_*i.b 3 parallel-processing foreach r parallel-foreach
使用foreach包,我期待以下行在大约10秒内运行
system.time(foreach (i=1:5, .combine='c') %do% {Sys.sleep(2);i})
user system elapsed
0.053 0.011 10.012
Run Code Online (Sandbox Code Playgroud)
并且以下行在大约2秒内运行
system.time(foreach (i=1:5, .combine='c') %dopar% {Sys.sleep(2);i})
user system elapsed
0.069 0.017 10.019
Run Code Online (Sandbox Code Playgroud)
但它不起作用.
我在Mac OSX上,我的机器有16个处理器,目前没有任何重量.我没有收到任何错误或警告信息.
您需要注册并行后端.做点什么
library(doParallel)
registerDoParallel(cores=4)
Run Code Online (Sandbox Code Playgroud)