Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/r/69.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
环路R的并行_R_Parallel Foreach - Fatal编程技术网

环路R的并行

环路R的并行,r,parallel-foreach,R,Parallel Foreach,我在for循环中调用一个函数 sample_fun <- function(x,y) { # do something with x,y and return value } My loop looks like result = list() for(i in 1:10000) result[i] = sample_fun(i,i+1) sample\u funlibrary(doSNOW) 样品很有趣,谢谢你。用户时间提高10%。你建议的任何更激进的方法。我正在尝试

我在for循环中调用一个函数

sample_fun <- function(x,y) {
    # do something with x,y and return value
}

My loop looks like
result = list()

for(i in 1:10000)
   result[i] = sample_fun(i,i+1)
sample\u fun
library(doSNOW)

样品很有趣,谢谢你。用户时间提高10%。你建议的任何更激进的方法。我正在尝试使用igraph Package处理巨大的图形查看链接。诀窍是适当地平衡传递给线程的每个处理块的大小。有了8个内核,我的性能提高了450%。还可以在任务管理器中观察新创建的R会话的情况—它们的CPU和RAM使用情况。
library(doSNOW)

sample_fun <- function(x,y) {
  # do something with x,y and return value
}

threads <- 8
N <- 10000

cl <- makeCluster(threads)
registerDoSNOW(cl)

result <- foreach(i=1:N) %dopar% sample_fun(i,i+1)

stopCluster(cl)