1
我试图评估r中的串行和并行执行的时间。当比较“lapply”函数和“parLapply”函数时,我得到了以下结果。使用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
虽然用户时间减少,经过时间似乎增加。这可能会发生吗或我做错了什么?因为我认为在使用并行执行时应减少流逝的时间。