我有以下数据框:
df = data_frame(x = rnorm(10^7), y = rnorm(10^7), z = rnorm(10^7))
我想比较sapply和parSapply:
cl <- makeCluster(2, type = "SOCK" )
clusterEvalQ(cl, library("dplyr"))
比较两者时:
system.time(sapply(df, function(x) order(x, na.last = T)))
system.time(parSapply(cl, df, function(x) order(x, na.last = T)))
我发现parSapply
比sapply
慢10倍(!),而我希望它快两倍。顺便说一下,系统时间的system
部分非常少-用户时间等于经过的时间。
有人能解释为什么吗?