0

我正在使用 R 并行包在我的笔记本电脑上进行并行计算:

> library(parallel)
> x = matrix(rep(1,2000), nrow=2)
> cl <- makeCluster(getOption("cl.cores", 8))
> system.time(replicate(5000, parApply(cl, x, 1, paste, collapse="-")))
   user  system elapsed 
  7.950   0.966  13.562 
> stopCluster(cl)
> system.time(replicate(5000, apply(x, 1, paste, collapse="-")))
   user  system elapsed 
  8.357   0.001   8.355

我在这里犯了什么错误吗?我唯一不太确定的是如何使用makeCluster.

更新:为了减少并行化的开销成本,使用更大的矩阵x并删除replicate并在基准测试尽管如此,并行和串行之间的差异仍然很小,有时并行速度较慢。

4

0 回答 0