Я пытался оценить тайминги последовательных и параллельных исполнений в 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
Хотя время пользователя уменьшается, прошедшее время, как представляется, увеличивается. может ли это быть, или я сделал что-то не так? Потому что я думал, что прошедшее время должно быть уменьшено при использовании параллельных исполнений.