【发布时间】:2016-08-02 02:43:33
【问题描述】:
我试图评估 r 中串行和并行执行的时间安排。在比较“lapply”函数和“parLapply”函数时,我得到了以下结果。
vec1 <- 1:400000
system.time(result <- lapply(vec1, function(x) x+2))
#using 3 nodes
cl3 <- snow::makeCluster(c("localhost","localhost","localhost"), type = "SOCK")
snow::clusterExport(cl3, c("vec1"), envir = .GlobalEnv)
system.time(clus3 <- snow::parLapply(cl3, vec1, function(x) x+2))
snow::stopCluster(cl3)
lapply:用户时间 = 0.69,经过时间 = 0.70 parLapply :用户时间 = 0.49,经过时间 = 0.92
虽然用户时间减少了,但经过的时间似乎增加了。这会发生还是我做错了什么?因为我认为使用并行执行时应该减少经过的时间。
【问题讨论】:
标签: r parallel-processing lapply elapsedtime