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